package io.fathom.cloud.compute.api.os.resources;
import io.fathom.cloud.CloudException;
import io.fathom.cloud.compute.api.os.model.AvailabilityZone;
import io.fathom.cloud.compute.api.os.model.AvailabilityZoneList;
import io.fathom.cloud.compute.api.os.model.ZoneState;
import io.fathom.cloud.server.model.Project;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@Path("/openstack/compute/{project}/os-availability-zone")
public class OsAvailabilityZoneResource extends ComputeResourceBase {
private static final Logger log = LoggerFactory.getLogger(OsAvailabilityZoneResource.class);
@GET
public AvailabilityZoneList list() throws CloudException {
return list(false);
}
@GET
@Path("detail")
public AvailabilityZoneList listDetail() throws CloudException {
return list(true);
}
private AvailabilityZoneList list(boolean details) throws CloudException {
Project project = getProject();
warnStub();
AvailabilityZoneList response = new AvailabilityZoneList();
response.availabilityZoneInfo = Lists.newArrayList();
AvailabilityZone availabilityZone = new AvailabilityZone();
availabilityZone.zoneName = "default";
availabilityZone.zoneState = new ZoneState();
availabilityZone.zoneState.available = true;
availabilityZone.hosts = Maps.newHashMap();
response.availabilityZoneInfo.add(availabilityZone);
return response;
}
// private Record toModel(DnsRecord record) {
// DnsRecordData data = record.getData();
//
// Record model = new Record();
// model.domain = record.getDomain().getName();
// model.ip = data.getIp();
// model.type = data.getType();
// model.name = data.getName();
//
// return model;
// }
}