Package io.fathom.cloud.compute.api.os.resources

Source Code of io.fathom.cloud.compute.api.os.resources.OsAvailabilityZoneResource

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;
    // }

}
TOP

Related Classes of io.fathom.cloud.compute.api.os.resources.OsAvailabilityZoneResource

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.