Example usage for com.amazonaws.services.elasticloadbalancing AmazonElasticLoadBalancing createLoadBalancer

List of usage examples for com.amazonaws.services.elasticloadbalancing AmazonElasticLoadBalancing createLoadBalancer

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticloadbalancing AmazonElasticLoadBalancing createLoadBalancer.

Prototype

CreateLoadBalancerResult createLoadBalancer(CreateLoadBalancerRequest createLoadBalancerRequest);

Source Link

Document

Creates a Classic Load Balancer.

Usage

From source file:com.urbancode.terraform.tasks.aws.helpers.AWSHelper.java

License:Apache License

/**
 * Launches a load balancer with the given name, subnets, security groups, and listeners.
 * NOTE** if you have multiple subnets, each must be in a DIFFERENT availability zone!
 *          you can only have 1 subnet per availability zone
 *
 * @param loadBalancerName - must be unique!!
 * @param subnets//w w  w. j  a  v a  2  s. c o m
 * @param secGroups
 * @param listeners - you can create these locally. holds info on ports/protocols
 * @param lbClient - AmazonElasticLoadBalancing
 * @return DNSName - the DNS name of the newly created load balancer
 * @throws EnvironmentCreationException if load balancer has neither zones nor subnets
 */
public String launchLoadBalancer(String loadBalancerName, List<String> subnets, List<String> secGroups,
        List<Listener> listeners, List<String> zones, AmazonElasticLoadBalancing lbClient)
        throws EnvironmentCreationException {
    CreateLoadBalancerRequest request = new CreateLoadBalancerRequest().withLoadBalancerName(loadBalancerName);
    if (subnets != null && !subnets.isEmpty()) {
        request = request.withSubnets(subnets);
    } else if (zones != null && !zones.isEmpty()) {
        request = request.withAvailabilityZones(zones);
    } else {
        throw new EnvironmentCreationException(
                "Must specify either zones or subnets for load balancer " + loadBalancerName);
    }

    if (listeners != null && !listeners.isEmpty()) {
        request = request.withListeners(listeners);
    } else {
        throw new EnvironmentCreationException("List of Listeners must not be null!");
    }

    if (secGroups != null && !secGroups.isEmpty()) {
        request = request.withSecurityGroups(secGroups);
    }

    CreateLoadBalancerResult result = lbClient.createLoadBalancer(request);
    return result.getDNSName();
}