List of usage examples for com.amazonaws.services.elasticloadbalancing.model CreateLoadBalancerRequest CreateLoadBalancerRequest
public CreateLoadBalancerRequest(String loadBalancerName)
From source file:com.swap.aws.elb.client.AWSHelper.java
License:Apache License
/** * Creates a load balancer and returns its DNS name. Useful when a new * cluster is added./*from w ww .jav a2 s. c o m*/ * * @param name * @param listeners * @return DNS name of newly created load balancer */ public String createLoadBalancer(String name, List<Listener> listeners) { try { CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest(name); createLoadBalancerRequest.setListeners(listeners); Set<String> availabilityZones = new HashSet<String>(); availabilityZones.add(availabilityZone); createLoadBalancerRequest.setAvailabilityZones(availabilityZones); AmazonElasticLoadBalancingClient lbClient = new AmazonElasticLoadBalancingClient(awsCredentials, clientConfiguration); lbClient.setEndpoint("elasticloadbalancing." + this.region + ".amazonaws.com"); CreateLoadBalancerResult clbResult = lbClient.createLoadBalancer(createLoadBalancerRequest); System.out.println("Created load balancer : " + clbResult.getDNSName()); return clbResult.getDNSName(); } catch (Exception e) { log.error("Could not create load balancer : " + name + "."); e.printStackTrace(); return null; } }
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
/** * Creates a load balancer and returns its DNS name. Useful when a new * cluster is added./*from w w w .j a v a 2 s . co m*/ * * @param name of the load balancer to be created * @param listeners to be attached to the load balancer * @param region in which the load balancer needs to be created * @return DNS name of newly created load balancer * @throws LoadBalancerExtensionException */ public String createLoadBalancer(String name, List<Listener> listeners, String region, Set<String> availabilityZones, boolean inVPC) throws LoadBalancerExtensionException { log.info("Creating load balancer " + name); CreateLoadBalancerRequest createLoadBalancerRequest = new CreateLoadBalancerRequest(name); createLoadBalancerRequest.setListeners(listeners); // don't need this now since we are anyway updating zone according to the member // Set<String> availabilityZones = new HashSet<String>(); // availabilityZones.add(getAvailabilityZoneFromRegion(region)); // // createLoadBalancerRequest.setAvailabilityZones(availabilityZones); try { if (inVPC) { List<String> securityGroups = new ArrayList<String>(); if (!vpcIds.isEmpty()) { for (String vpcId : vpcIds) { String securityGroupId = getSecurityGroupIdForRegion(region, vpcId); securityGroups.add(securityGroupId); } } else { String securityGroupId = getSecurityGroupIdForRegion(region, null); securityGroups.add(securityGroupId); } createLoadBalancerRequest.setSecurityGroups(securityGroups); // set subnet ids if (!getSubnetIds().isEmpty()) { createLoadBalancerRequest.setSubnets(subnetIds); } // set scheme to 'internal' if specified if (getLbScheme() != null && getLbScheme().equals(Constants.LB_SCHEME_INTERNAL)) { createLoadBalancerRequest.setScheme(getLbScheme()); } } else { // set initial availability zones createLoadBalancerRequest.setAvailabilityZones(availabilityZones); } elbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); CreateLoadBalancerResult clbResult = elbClient.createLoadBalancer(createLoadBalancerRequest); return clbResult.getDNSName(); } catch (AmazonClientException e) { String errorMsg = "Could not create load balancer " + name; log.error(errorMsg, e); throw new LoadBalancerExtensionException(errorMsg, e); } }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public CreateLoadBalancerResult createLoadBalancer(String loadBalancerName) { if (loadBalancerName == null || loadBalancerName.equals("")) throw new IllegalArgumentException("Load Balancer Name not specified."); return awsHttpClient.createLoadBalancer( new CreateLoadBalancerRequest(loadBalancerName).withListeners(singleton(getDefaultHttpListener()))); }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public CreateLoadBalancerResult createLoadBalancer(String loadBalancerName, String certificateId) { if (loadBalancerName == null || loadBalancerName.equals("")) throw new IllegalArgumentException("Load Balancer Name not specified."); if (certificateId == null || certificateId.equals("")) throw new IllegalArgumentException("Certificate ID not specified."); return awsHttpClient.createLoadBalancer(new CreateLoadBalancerRequest(loadBalancerName) .withListeners(singleton(getDefaultHttpsListener(certificateId)))); }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public CreateLoadBalancerResult createLoadBalancer(String loadBalancerName, Collection<Listener> listeners) { if (loadBalancerName == null || loadBalancerName.equals("")) throw new IllegalArgumentException("Load Balancer Name not specified."); if (listeners == null || listeners.isEmpty()) throw new IllegalArgumentException("Listeners not specified."); return awsHttpClient .createLoadBalancer(new CreateLoadBalancerRequest(loadBalancerName).withListeners(listeners)); }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public CreateLoadBalancerResult createLoadBalancerWithSubnets(String loadBalancerName, Collection<Listener> listeners, Collection<String> subnetIds) { if (loadBalancerName == null || loadBalancerName.equals("")) throw new IllegalArgumentException("Load Balancer Name not specified."); if (listeners == null || listeners.isEmpty()) throw new IllegalArgumentException("Listeners not specified."); if (subnetIds == null || subnetIds.isEmpty()) throw new IllegalArgumentException("Subnets not specified."); return awsHttpClient.createLoadBalancer( new CreateLoadBalancerRequest(loadBalancerName).withListeners(listeners).withSubnets(subnetIds)); }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public CreateLoadBalancerResult createLoadBalancerWithAvailabilityZones(String loadBalancerName, Collection<Listener> listeners, Collection<AvailabilityZone> availabilityZones) { if (loadBalancerName == null || loadBalancerName.equals("")) throw new IllegalArgumentException("Load Balancer Name not specified."); if (listeners == null || listeners.isEmpty()) throw new IllegalArgumentException("Listeners not specified."); if (availabilityZones == null || availabilityZones.isEmpty()) throw new IllegalArgumentException("Availability zones not specified."); return awsHttpClient.createLoadBalancer( new CreateLoadBalancerRequest(loadBalancerName).withListeners(listeners).withAvailabilityZones( availabilityZones.stream().map(AvailabilityZone::getZoneName).collect(toList()))); }