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

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

Introduction

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

Prototype

ApplySecurityGroupsToLoadBalancerRequest

Source Link

Usage

From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java

License:Open Source License

public void applySecurityGroups(AwsProcessClient awsProcessClient, Long loadBalancerNo) {
    // ?VPC???//from  ww  w .ja  v  a 2 s. co  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() });
}

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

@Override
public ApplySecurityGroupsToLoadBalancerResult applySecurityGroupsToLoadBalancer(String loadBalancerName,
        Collection<String> securityGroups) {

    return applySecurityGroupsToLoadBalancer(new ApplySecurityGroupsToLoadBalancerRequest()
            .withLoadBalancerName(loadBalancerName).withSecurityGroups(securityGroups));
}