Example usage for com.amazonaws.services.elasticloadbalancing.model DeleteLoadBalancerListenersRequest DeleteLoadBalancerListenersRequest

List of usage examples for com.amazonaws.services.elasticloadbalancing.model DeleteLoadBalancerListenersRequest DeleteLoadBalancerListenersRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticloadbalancing.model DeleteLoadBalancerListenersRequest DeleteLoadBalancerListenersRequest.

Prototype

public DeleteLoadBalancerListenersRequest() 

Source Link

Document

Default constructor for DeleteLoadBalancerListenersRequest object.

Usage

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())));
}