Example usage for com.amazonaws.services.ec2 AmazonEC2 describeSubnets

List of usage examples for com.amazonaws.services.ec2 AmazonEC2 describeSubnets

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2 AmazonEC2 describeSubnets.

Prototype

DescribeSubnetsResult describeSubnets(DescribeSubnetsRequest describeSubnetsRequest);

Source Link

Document

Describes one or more of your subnets.

Usage

From source file:com.urbancode.terraform.tasks.aws.helpers.AWSHelper.java

License:Apache License

/**
 *
 * @param subnetIds// w  w  w .  ja  v a2 s  .co  m
 * @param ec2Client
 * @return
 */
public List<Subnet> getSubnets(List<String> subnetIds, AmazonEC2 ec2Client) {
    DescribeSubnetsRequest request = new DescribeSubnetsRequest();

    if (subnetIds != null && !subnetIds.isEmpty()) {
        request = request.withSubnetIds(subnetIds);
    }
    DescribeSubnetsResult result = ec2Client.describeSubnets(request);

    return result.getSubnets();
}

From source file:hudson.plugins.ec2.SlaveTemplate.java

License:Open Source License

/**
 * Get a list of security group ids for the slave
 *///from  ww w . ja  v a  2  s.  c  o m
private List<String> getEc2SecurityGroups(AmazonEC2 ec2) throws AmazonClientException {
    List<String> group_ids = new ArrayList<String>();

    DescribeSecurityGroupsResult group_result = getSecurityGroupsBy("group-name", securityGroupSet, ec2);
    if (group_result.getSecurityGroups().size() == 0) {
        group_result = getSecurityGroupsBy("group-id", securityGroupSet, ec2);
    }

    for (SecurityGroup group : group_result.getSecurityGroups()) {
        if (group.getVpcId() != null && !group.getVpcId().isEmpty()) {
            List<Filter> filters = new ArrayList<Filter>();
            filters.add(new Filter("vpc-id").withValues(group.getVpcId()));
            filters.add(new Filter("state").withValues("available"));
            filters.add(new Filter("subnet-id").withValues(getSubnetId()));

            DescribeSubnetsRequest subnet_req = new DescribeSubnetsRequest();
            subnet_req.withFilters(filters);
            DescribeSubnetsResult subnet_result = ec2.describeSubnets(subnet_req);

            List<Subnet> subnets = subnet_result.getSubnets();
            if (subnets != null && !subnets.isEmpty()) {
                group_ids.add(group.getGroupId());
            }
        }
    }

    if (securityGroupSet.size() != group_ids.size()) {
        throw new AmazonClientException(
                "Security groups must all be VPC security groups to work in a VPC context");
    }

    return group_ids;
}

From source file:org.jenkinsci.plugins.amazonwebservices.cloud.EC2.java

License:Open Source License

public static List<String> getSubnets(AmazonEC2 ec2, String availabilityZone, String vpc) {
    DescribeSubnetsRequest ec2req = (new DescribeSubnetsRequest())
            .withFilters(new Filter("availability-zone", Collections.singletonList(availabilityZone)));
    if (!StringUtils.isEmpty(vpc)) {
        ec2req = ec2req.withFilters(new Filter("vpc-id", Collections.singletonList(vpc)));
    }//from   w  w  w . ja v a 2 s  . c  om
    DescribeSubnetsResult ec2res = ec2.describeSubnets(ec2req);
    List<String> res = new ArrayList<String>();
    for (Subnet s : ec2res.getSubnets()) {
        res.add(s.getSubnetId());
    }
    return res;
}