package io.fathom.cloud.compute.api.os.resources; import io.fathom.cloud.CloudException; import io.fathom.cloud.compute.api.os.model.FloatingIpPool; import io.fathom.cloud.compute.api.os.model.FloatingIpPools; import io.fathom.cloud.compute.services.IpPools; import io.fathom.cloud.protobuf.CloudModel.VirtualIpPoolData; import java.util.List; import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import com.google.common.collect.Lists; @Path("/openstack/compute/{project}/os-floating-ip-pools") public class FloatingIpPoolsResource extends ComputeResourceBase { @Inject IpPools ipPools; @GET @Produces({ JSON }) public FloatingIpPools list() throws CloudException { FloatingIpPools response = new FloatingIpPools(); response.floatingIpPools = Lists.newArrayList(); List<VirtualIpPoolData> pools = ipPools.listVirtualIpPools(getProject()); for (VirtualIpPoolData pool : pools) { FloatingIpPool floatingIpPool = new FloatingIpPool(); String name = FloatingIpsResource.getLabel(pool); floatingIpPool.name = name; response.floatingIpPools.add(floatingIpPool); } return response; } }