List of usage examples for com.amazonaws.services.elasticloadbalancing AmazonElasticLoadBalancing createLoadBalancer
CreateLoadBalancerResult createLoadBalancer(CreateLoadBalancerRequest createLoadBalancerRequest);
Creates a Classic Load Balancer.
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(); }