List of usage examples for com.amazonaws.services.ec2.model DescribeSecurityGroupsRequest setGroupNames
public void setGroupNames(java.util.Collection<String> groupNames)
[EC2-Classic and default VPC only] The names of the security groups.
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
/** * Checks if the security group is already present in the given region. If * yes, then returns its group id. If not, present the returns null. * * @param groupName to be checked for presence. * @param region/* ww w. j a v a 2 s . c om*/ * @return id of the security group */ public String getSecurityGroupId(String groupName, String region) { if (groupName == null || groupName.isEmpty()) { return null; } DescribeSecurityGroupsRequest describeSecurityGroupsRequest = new DescribeSecurityGroupsRequest(); if (AWSExtensionContext.getInstance().isOperatingInVPC()) { if (getVpcIds().size() > 0) { // vpc id filter Set<Filter> filters = getFilters(getVpcIds().iterator().next(), lbSecurityGroupName); describeSecurityGroupsRequest.setFilters(filters); } else { List<String> groupNames = new ArrayList<String>(); groupNames.add(groupName); describeSecurityGroupsRequest.setGroupNames(groupNames); } } try { ec2Client.setEndpoint(String.format(Constants.EC2_ENDPOINT_URL_FORMAT, region)); DescribeSecurityGroupsResult describeSecurityGroupsResult = ec2Client .describeSecurityGroups(describeSecurityGroupsRequest); List<SecurityGroup> securityGroups = describeSecurityGroupsResult.getSecurityGroups(); if (securityGroups != null && securityGroups.size() > 0) { return securityGroups.get(0).getGroupId(); } else { log.warn("Could not find security group id for group " + groupName); } } catch (AmazonClientException e) { log.debug("Could not describe security groups.", e); } return null; }
From source file:org.apache.stratos.aws.extension.AWSHelper.java
License:Apache License
/** * Returns the security group id for the given region if it is already * present. If it is not already present then creates a new security group * in that region./*from ww w . j av a 2 s . co m*/ * * @param region * @param vpcId * @return Id of the security group * @throws LoadBalancerExtensionException */ public String getSecurityGroupIdForRegion(String region, String vpcId) throws LoadBalancerExtensionException { // if (region == null) // return null; // // if (this.regionToSecurityGroupIdMap.contains(region)) { // return this.regionToSecurityGroupIdMap.get(region); // } else { // // Get the the security group id if it is already present. // String securityGroupId = getSecurityGroupId( // this.lbSecurityGroupName, region); // // if (securityGroupId == null) { // securityGroupId = createSecurityGroup(this.lbSecurityGroupName, // this.lbSecurityGroupDescription, region, vpcId); // } // // this.regionToSecurityGroupIdMap.put(region, securityGroupId); // // return securityGroupId; // } // if lb security group id is defined, use that, do not create a new security group if (lbSecurityGroupId != null && !lbSecurityGroupId.isEmpty()) { return lbSecurityGroupId; } // check if the security group is already exists DescribeSecurityGroupsRequest describeSecurityGroupsReq = new DescribeSecurityGroupsRequest(); // set filter for vpc id if (vpcId != null) { Set<Filter> filters = getFilters(vpcId, lbSecurityGroupName); describeSecurityGroupsReq.setFilters(filters); } else { // no vpc id defined, assume default vpc List<String> groupNames = new ArrayList<String>(); groupNames.add(lbSecurityGroupName); describeSecurityGroupsReq.setGroupNames(groupNames); } DescribeSecurityGroupsResult describeSecurityGroupsRes = null; try { ec2Client.setEndpoint(String.format(Constants.EC2_ENDPOINT_URL_FORMAT, region)); describeSecurityGroupsRes = ec2Client.describeSecurityGroups(describeSecurityGroupsReq); if (describeSecurityGroupsRes != null && describeSecurityGroupsRes.getSecurityGroups() != null) { // already exists, return the id if (describeSecurityGroupsRes.getSecurityGroups().size() > 0) { return describeSecurityGroupsRes.getSecurityGroups().get(0).getGroupId(); } } } catch (AmazonClientException e) { throw new LoadBalancerExtensionException(e.getMessage(), e); } return createSecurityGroup(this.lbSecurityGroupName, this.lbSecurityGroupDescription, region, vpcId); }