Search in sources :

Example 1 with CloudIpPool

use of com.sequenceiq.cloudbreak.cloud.model.CloudIpPool in project cloudbreak by hortonworks.

the class CloudIpPoolsToPlatformIpPoolsResponseConverter method convert.

@Override
public PlatformIpPoolsResponse convert(CloudIpPools source) {
    Map<String, Set<IpPoolJson>> result = new HashMap<>();
    for (Entry<String, Set<CloudIpPool>> entry : source.getCloudIpPools().entrySet()) {
        Set<IpPoolJson> ipPoolJsonSet = new HashSet<>();
        for (CloudIpPool ipPool : entry.getValue()) {
            IpPoolJson actual = new IpPoolJson(ipPool.getName(), ipPool.getId(), ipPool.getProperties());
            ipPoolJsonSet.add(actual);
        }
        result.put(entry.getKey(), ipPoolJsonSet);
    }
    return new PlatformIpPoolsResponse(result);
}
Also used : PlatformIpPoolsResponse(com.sequenceiq.cloudbreak.api.model.PlatformIpPoolsResponse) HashSet(java.util.HashSet) Set(java.util.Set) HashMap(java.util.HashMap) CloudIpPool(com.sequenceiq.cloudbreak.cloud.model.CloudIpPool) IpPoolJson(com.sequenceiq.cloudbreak.api.model.IpPoolJson) HashSet(java.util.HashSet)

Example 2 with CloudIpPool

use of com.sequenceiq.cloudbreak.cloud.model.CloudIpPool in project cloudbreak by hortonworks.

the class OpenStackPlatformResources method publicIpPool.

@Override
public CloudIpPools publicIpPool(CloudCredential cloudCredential, Region region, Map<String, String> filters) {
    OSClient<?> osClient = openStackClient.createOSClient(cloudCredential);
    Map<String, Set<CloudIpPool>> cloudIpPools = new HashMap<>();
    CloudRegions regions = regions(cloudCredential, region, filters);
    for (Entry<Region, List<AvailabilityZone>> regionListEntry : regions.getCloudRegions().entrySet()) {
        Set<CloudIpPool> cloudGateWays = new HashSet<>();
        List<? extends Network> networks = getNetworks(osClient);
        List<? extends Network> networksWithExternalRouter = networks.stream().filter(Network::isRouterExternal).collect(Collectors.toList());
        for (Network network : networksWithExternalRouter) {
            CloudIpPool cloudIpPool = new CloudIpPool();
            cloudIpPool.setId(network.getId());
            cloudIpPool.setName(network.getName());
            cloudGateWays.add(cloudIpPool);
        }
        for (AvailabilityZone availabilityZone : regionListEntry.getValue()) {
            cloudIpPools.put(availabilityZone.value(), cloudGateWays);
        }
    }
    LOGGER.info("openstack public ip pool result: {}", cloudIpPools);
    return new CloudIpPools(cloudIpPools);
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) HashMap(java.util.HashMap) CloudIpPool(com.sequenceiq.cloudbreak.cloud.model.CloudIpPool) CloudRegions(com.sequenceiq.cloudbreak.cloud.model.CloudRegions) AvailabilityZone(com.sequenceiq.cloudbreak.cloud.model.AvailabilityZone) CloudIpPools(com.sequenceiq.cloudbreak.cloud.model.CloudIpPools) Network(org.openstack4j.model.network.Network) CloudNetwork(com.sequenceiq.cloudbreak.cloud.model.CloudNetwork) Region(com.sequenceiq.cloudbreak.cloud.model.Region) List(java.util.List) HashSet(java.util.HashSet)

Aggregations

CloudIpPool (com.sequenceiq.cloudbreak.cloud.model.CloudIpPool)2 HashMap (java.util.HashMap)2 HashSet (java.util.HashSet)2 Set (java.util.Set)2 IpPoolJson (com.sequenceiq.cloudbreak.api.model.IpPoolJson)1 PlatformIpPoolsResponse (com.sequenceiq.cloudbreak.api.model.PlatformIpPoolsResponse)1 AvailabilityZone (com.sequenceiq.cloudbreak.cloud.model.AvailabilityZone)1 CloudIpPools (com.sequenceiq.cloudbreak.cloud.model.CloudIpPools)1 CloudNetwork (com.sequenceiq.cloudbreak.cloud.model.CloudNetwork)1 CloudRegions (com.sequenceiq.cloudbreak.cloud.model.CloudRegions)1 Region (com.sequenceiq.cloudbreak.cloud.model.Region)1 List (java.util.List)1 Network (org.openstack4j.model.network.Network)1