List of usage examples for com.amazonaws.services.elasticloadbalancing.model ApplySecurityGroupsToLoadBalancerRequest withSecurityGroups
public ApplySecurityGroupsToLoadBalancerRequest withSecurityGroups(
java.util.Collection<String> securityGroups)
The IDs of the security groups to associate with the load balancer.
From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java
License:Open Source License
public void applySecurityGroups(AwsProcessClient awsProcessClient, Long loadBalancerNo) { // ?VPC???/*from w w w. ja va 2s . c o m*/ if (BooleanUtils.isNotTrue(awsProcessClient.getPlatformAws().getVpc())) { return; } AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); // ????SecurityGroup LoadBalancerDescription description = awsCommonProcess.describeLoadBalancer(awsProcessClient, awsLoadBalancer.getName()); List<String> groupIds = description.getSecurityGroups(); // ????SecurityGroup List<String> newGroupIds = new ArrayList<String>(); 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())) { newGroupIds.add(securityGroup.getGroupId()); break; } } } // SecurityGroup?????? if (groupIds.size() == newGroupIds.size() && groupIds.containsAll(newGroupIds)) { return; } // ApplySecurityGroupsToLoadBalancerRequest request = new ApplySecurityGroupsToLoadBalancerRequest(); request.withLoadBalancerName(awsLoadBalancer.getName()); request.withSecurityGroups(newGroupIds); awsProcessClient.getElbClient().applySecurityGroupsToLoadBalancer(request); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-200225", awsLoadBalancer.getName())); } // processLogger.debug(null, null, "AwsElbSecurityGroupsConfig", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() }); }