List of usage examples for com.amazonaws.services.elasticloadbalancing.model DeleteLoadBalancerListenersRequest DeleteLoadBalancerListenersRequest
public DeleteLoadBalancerListenersRequest()
From source file:com.swap.aws.elb.client.AWSHelper.java
License:Apache License
/** * Remove listeners provided from the load balancer. Useful when attached * listeners are no longer required./*from ww w . j a v a 2s . c om*/ * * @param loadBalancerName * @param listeners */ public void removeListenersFromLoadBalancer(String loadBalancerName, List<Listener> listeners) { if (listeners.size() == 0) return; try { DeleteLoadBalancerListenersRequest deleteLoadBalancerListenersRequest = new DeleteLoadBalancerListenersRequest(); deleteLoadBalancerListenersRequest.setLoadBalancerName(loadBalancerName); List<Integer> loadBalancerPorts = new ArrayList<Integer>(); for (Listener listener : listeners) { loadBalancerPorts.add(listener.getLoadBalancerPort()); } deleteLoadBalancerListenersRequest.setLoadBalancerPorts(loadBalancerPorts); AmazonElasticLoadBalancingClient lbClient = new AmazonElasticLoadBalancingClient(awsCredentials, clientConfiguration); lbClient.setEndpoint("elasticloadbalancing." + this.region + ".amazonaws.com"); lbClient.deleteLoadBalancerListeners(deleteLoadBalancerListenersRequest); } catch (Exception e) { log.error("Could not remove listeners from load balancer " + loadBalancerName); } }
From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java
License:Open Source License
public String createLoadBalancer(AwsProcessClient awsProcessClient, Long loadBalancerNo) { AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); // ??/*w ww.j ava 2 s . c o m*/ CreateLoadBalancerRequest request = new CreateLoadBalancerRequest(); request.withLoadBalancerName(awsLoadBalancer.getName()); // ? Listener listener = new Listener(); listener.withProtocol("TCP"); listener.withLoadBalancerPort(65535); listener.withInstancePort(65535); request.withListeners(listener); // ?PVC?? if (BooleanUtils.isNotTrue(awsProcessClient.getPlatformAws().getVpc())) { // AvailabilityZones List<AvailabilityZone> availabilityZones = awsCommonProcess.describeAvailabilityZones(awsProcessClient); for (AvailabilityZone availabilityZone : availabilityZones) { request.withAvailabilityZones(availabilityZone.getZoneName()); } } // VPC?? else { // Subnet List<Subnet> subnets = awsCommonProcess.describeSubnetsByVpcId(awsProcessClient, awsProcessClient.getPlatformAws().getVpcId()); if (StringUtils.isNotEmpty(awsLoadBalancer.getSubnetId())) { for (String subnetId : StringUtils.split(awsLoadBalancer.getSubnetId(), ",")) { subnetId = subnetId.trim(); for (Subnet subnet : subnets) { if (StringUtils.equals(subnetId, subnet.getSubnetId())) { request.withSubnets(subnetId); break; } } } } else { // Subnet??????????AvailabilityZone?Subnet? Map<String, String> subnetIdMap = new LinkedHashMap<String, String>(); for (Subnet subnet : subnets) { if (BooleanUtils.isTrue(subnet.getDefaultForAz())) { subnetIdMap.put(subnet.getAvailabilityZone(), subnet.getSubnetId()); continue; } if (!subnetIdMap.containsKey(subnet.getAvailabilityZone())) { subnetIdMap.put(subnet.getAvailabilityZone(), subnet.getSubnetId()); } } request.withSubnets(subnetIdMap.values()); } // SecurytiGroup List<SecurityGroup> securityGroups = awsCommonProcess.describeSecurityGroupsByVpcId(awsProcessClient, awsProcessClient.getPlatformAws().getVpcId()); for (String groupName : StringUtils.split(awsLoadBalancer.getSecurityGroups(), ",")) { groupName = groupName.trim(); for (SecurityGroup securityGroup : securityGroups) { if (StringUtils.equals(groupName, securityGroup.getGroupName())) { request.withSecurityGroups(securityGroup.getGroupId()); break; } } } // Internal if (BooleanUtils.isTrue(awsLoadBalancer.getInternal())) { request.withScheme("internal"); } } // ??? CreateLoadBalancerResult result = awsProcessClient.getElbClient().createLoadBalancer(request); String dnsName = result.getDNSName(); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-200111", awsLoadBalancer.getName())); } // processLogger.debug(null, null, "AwsElbCreate", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() }); // ?? DeleteLoadBalancerListenersRequest request2 = new DeleteLoadBalancerListenersRequest(); request2.withLoadBalancerName(awsLoadBalancer.getName()); request2.withLoadBalancerPorts(65535); awsProcessClient.getElbClient().deleteLoadBalancerListeners(request2); // ? ModifyLoadBalancerAttributesRequest request3 = new ModifyLoadBalancerAttributesRequest(); request3.withLoadBalancerName(awsLoadBalancer.getName()); request3.withLoadBalancerAttributes(new LoadBalancerAttributes() .withCrossZoneLoadBalancing(new CrossZoneLoadBalancing().withEnabled(true))); awsProcessClient.getElbClient().modifyLoadBalancerAttributes(request3); // processLogger.debug(null, null, "AwsCrossZoneEnabled", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() }); // awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); awsLoadBalancer.setDnsName(dnsName); awsLoadBalancerDao.update(awsLoadBalancer); return dnsName; }
From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java
License:Open Source License
public void stopListener(AwsProcessClient awsProcessClient, Long loadBalancerNo, Integer loadBalancerPort) { AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); LoadBalancerListener listener = loadBalancerListenerDao.read(loadBalancerNo, loadBalancerPort); try {/*from w ww . j a va2s . c om*/ // ? DeleteLoadBalancerListenersRequest request = new DeleteLoadBalancerListenersRequest(); request.withLoadBalancerName(awsLoadBalancer.getName()); request.withLoadBalancerPorts(listener.getLoadBalancerPort()); awsProcessClient.getElbClient().deleteLoadBalancerListeners(request); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-200122", awsLoadBalancer.getName(), listener.getLoadBalancerPort())); } // processLogger.debug(null, null, "AwsElbListenerDelete", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName(), listener.getLoadBalancerPort() }); } catch (RuntimeException e) { log.warn(e.getMessage()); } // listener = loadBalancerListenerDao.read(loadBalancerNo, loadBalancerPort); listener.setStatus(LoadBalancerListenerStatus.STOPPED.toString()); listener.setConfigure(false); loadBalancerListenerDao.update(listener); }
From source file:web.component.impl.aws.AWSELBImpl.java
@Override public void deleteLoadBalancerListeners(String loadBalancerName, Collection<Listener> listeners) { deleteLoadBalancerListeners(new DeleteLoadBalancerListenersRequest().withLoadBalancerName(loadBalancerName) .withLoadBalancerPorts(listeners.stream().map(Listener::getLoadBalancerPort).collect(toList()))); }