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

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

Introduction

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

Prototype

public Listener() 

Source Link

Document

Default constructor for Listener object.

Usage

From source file:com.kpbird.aws.Main.java

public void createElasticLoadBalancing() {
    try {//from  w w w .  java2 s .  co m
        AmazonElasticLoadBalancingClient aebc = new AmazonElasticLoadBalancingClient(credentials);
        aebc.setEndpoint(endPoint);
        aebc.setRegion(region);

        String instanceid = Util.getInstanceId(InstanceName, credentials, endPoint, region);
        String azone = Util.getAvailabilityZone(instanceid, credentials, endPoint, region);

        CreateLoadBalancerRequest cbr = new CreateLoadBalancerRequest();
        cbr.setLoadBalancerName(elbName);

        ArrayList<Listener> arrListener = new ArrayList<Listener>();
        arrListener.add(new Listener().withInstancePort(ListenerInstancePort)
                .withInstanceProtocol(ListenerInstanceProtocol).withLoadBalancerPort(ListenerPort)
                .withProtocol(ListenerProtocol));
        cbr.setListeners(arrListener);

        ArrayList<String> arrAvailabilityZone = new ArrayList<String>();
        arrAvailabilityZone.add(azone);
        cbr.setAvailabilityZones(arrAvailabilityZone);

        CreateLoadBalancerResult cbresult = aebc.createLoadBalancer(cbr);
        log.Info("DNS Name " + cbresult.getDNSName());

        // wait for process complete

        ConfigureHealthCheckRequest chcr = new ConfigureHealthCheckRequest();
        chcr.setLoadBalancerName(elbName);
        HealthCheck healthCK = new HealthCheck();
        healthCK.withHealthyThreshold(HealthyThreshold);
        healthCK.withInterval(HealthInterval);
        healthCK.withTarget(HealthTarget);
        healthCK.withTimeout(HealthTimeout);
        healthCK.withUnhealthyThreshold(HealthUnhealthyThreshold);
        chcr.setHealthCheck(healthCK);

        aebc.configureHealthCheck(chcr);

        // wait for process complete         

        RegisterInstancesWithLoadBalancerRequest riwbr = new RegisterInstancesWithLoadBalancerRequest();
        riwbr.setLoadBalancerName(elbName);

        ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance> arrInstances = new ArrayList<com.amazonaws.services.elasticloadbalancing.model.Instance>();
        com.amazonaws.services.elasticloadbalancing.model.Instance i = new com.amazonaws.services.elasticloadbalancing.model.Instance(
                instanceid);
        arrInstances.add(i);
        riwbr.setInstances(arrInstances);

        RegisterInstancesWithLoadBalancerResult riwbresult = aebc.registerInstancesWithLoadBalancer(riwbr);

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:com.zotoh.cloudapi.aws.ElasticLoadBalancer.java

License:Open Source License

@Override
public String create(String name, String desc, String addrIgnoredByAWS, String[] zones, LbListener[] lis,
        String[] servers) throws CloudException, InternalException {
    tstEStrArg("load-balancer-name", name);
    tstObjArg("listeners", lis);
    tstObjArg("zones", zones);
    List<Listener> lst = LT();
    Listener ln;/*w w w  .  j  a  v  a2s  .c  om*/
    LbListener lb;
    for (int i = 0; i < lis.length; ++i) {
        ln = new Listener();
        lb = lis[i];
        ln.setProtocol(strProtocol(lb.getNetworkProtocol()));
        ln.setInstancePort(lb.getPrivatePort());
        ln.setLoadBalancerPort(lb.getPublicPort());
        lst.add(ln);
    }
    CreateLoadBalancerResult res = _svc.getCloud().getELB().createLoadBalancer(new CreateLoadBalancerRequest()
            .withLoadBalancerName(name).withListeners(lst).withAvailabilityZones(zones));
    return res == null ? null : res.getDNSName();
}

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

    // ??//from   ww  w. j  a va 2s  .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 startListener(AwsProcessClient awsProcessClient, Long loadBalancerNo, Integer loadBalancerPort) {
    AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo);
    LoadBalancerListener listener = loadBalancerListenerDao.read(loadBalancerNo, loadBalancerPort);

    try {/* ww  w .  j  a v a 2 s.  c om*/
        // ?
        CreateLoadBalancerListenersRequest request = new CreateLoadBalancerListenersRequest();
        request.withLoadBalancerName(awsLoadBalancer.getName());

        Listener listener2 = new Listener();
        listener2.withProtocol(listener.getProtocol());
        listener2.withLoadBalancerPort(listener.getLoadBalancerPort());
        listener2.withInstancePort(listener.getServicePort());
        if (listener.getSslKeyNo() != null) {
            AwsSslKey awsSslKey = awsSslKeyDao.read(listener.getSslKeyNo());
            listener2.withSSLCertificateId(awsSslKey.getSslcertificateid());
        }
        request.withListeners(listener2);

        // ??
        awsProcessClient.getElbClient().createLoadBalancerListeners(request);

        if (log.isInfoEnabled()) {
            log.info(MessageUtils.getMessage("IPROCESS-200121", awsLoadBalancer.getName(),
                    listener.getLoadBalancerPort()));
        }

        // 
        processLogger.debug(null, null, "AwsElbListenerCreate",
                new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName(),
                        listener.getLoadBalancerPort() });

    } catch (RuntimeException e) {
        // 
        listener = loadBalancerListenerDao.read(loadBalancerNo, loadBalancerPort);
        listener.setStatus(LoadBalancerListenerStatus.WARNING.toString());
        loadBalancerListenerDao.update(listener);

        throw e;
    }

    // 
    listener = loadBalancerListenerDao.read(loadBalancerNo, loadBalancerPort);
    listener.setStatus(LoadBalancerListenerStatus.RUNNING.toString());
    listener.setConfigure(false);
    loadBalancerListenerDao.update(listener);
}

From source file:web.component.impl.aws.AWSELBImpl.java

private Listener getDefaultHttpListener() {

    return new Listener().withInstancePort(80).withLoadBalancerPort(80).withInstanceProtocol("HTTP")
            .withProtocol("HTTP");
}

From source file:web.component.impl.aws.AWSELBImpl.java

private Listener getDefaultHttpsListener(String certificateId) {

    return new Listener().withInstancePort(443).withLoadBalancerPort(443).withInstanceProtocol("HTTPS")
            .withProtocol("HTTPS").withSSLCertificateId(certificateId);
}

From source file:web.component.impl.aws.model.LoadBalancerListenerImpl.java

private static LoadBalancerListener create(Builder builder) {

    Listener newListener = new Listener().withInstancePort(builder.instancePort)
            .withInstanceProtocol(builder.instanceProtocol).withLoadBalancerPort(builder.servicePort)
            .withProtocol(builder.serviceProtocol).withSSLCertificateId(builder.certificateId);

    return new LoadBalancerListenerImpl(newListener);
}

From source file:web.component.impl.aws.model.LoadBalancerListenerImpl.java

private Listener copyElbListener(Listener source) {

    return new Listener().withInstancePort(source.getInstancePort())
            .withInstanceProtocol(source.getInstanceProtocol())
            .withLoadBalancerPort(source.getLoadBalancerPort()).withProtocol(source.getProtocol())
            .withSSLCertificateId(source.getSSLCertificateId());
}