List of usage examples for com.amazonaws.services.elasticloadbalancing.model LoadBalancerAttributes setCrossZoneLoadBalancing
public void setCrossZoneLoadBalancing(CrossZoneLoadBalancing crossZoneLoadBalancing)
If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
From source file:com.netflix.spinnaker.clouddriver.aws.deploy.handlers.MigrateLoadBalancerStrategy.java
License:Apache License
public LoadBalancerAttributes getLoadBalancerAttributes(LoadBalancerDescription sourceLoadBalancer, AmazonElasticLoadBalancing sourceClient) { LoadBalancerAttributes sourceAttributes = sourceClient .describeLoadBalancerAttributes(new DescribeLoadBalancerAttributesRequest() .withLoadBalancerName(sourceLoadBalancer.getLoadBalancerName())) .getLoadBalancerAttributes(); if (sourceLoadBalancer.getListenerDescriptions().stream() .anyMatch(l -> l.getListener().getInstancePort() == 0)) { sourceAttributes.setCrossZoneLoadBalancing(new CrossZoneLoadBalancing().withEnabled(true)); }//from w ww.j a va2 s .c o m return sourceAttributes; }
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
public void modifyLBAttributes(String loadBalancerName, String region, boolean enableCrossZoneLbing, boolean enableConnDraining) { if (!enableCrossZoneLbing && !enableConnDraining) { log.info("No attributes specified to modify in the LB " + loadBalancerName); return;//from ww w . j a v a2 s. co m } ModifyLoadBalancerAttributesRequest modifyLBAttributesReq = new ModifyLoadBalancerAttributesRequest() .withLoadBalancerName(loadBalancerName); LoadBalancerAttributes modifiedLbAttributes = new LoadBalancerAttributes(); if (enableCrossZoneLbing) { modifiedLbAttributes.setCrossZoneLoadBalancing(new CrossZoneLoadBalancing().withEnabled(true)); } if (enableConnDraining) { modifiedLbAttributes.setConnectionDraining(new ConnectionDraining().withEnabled(true)); } modifyLBAttributesReq.setLoadBalancerAttributes(modifiedLbAttributes); elbClient.setEndpoint(String.format(Constants.ELB_ENDPOINT_URL_FORMAT, region)); ModifyLoadBalancerAttributesResult modifyLBAttributesRes = elbClient .modifyLoadBalancerAttributes(modifyLBAttributesReq); if (modifyLBAttributesRes != null) { log.info("Successfully enabled cross zone load balancing and connection draining for " + loadBalancerName); } else { log.error("Failed to enable cross zone load balancing and connection draining for " + loadBalancerName); } }