Example usage for com.amazonaws.services.ec2.model DescribeSubnetsRequest withFilters

List of usage examples for com.amazonaws.services.ec2.model DescribeSubnetsRequest withFilters

Introduction

In this page you can find the example usage for com.amazonaws.services.ec2.model DescribeSubnetsRequest withFilters.

Prototype


public DescribeSubnetsRequest withFilters(java.util.Collection<Filter> filters) 

Source Link

Document

One or more filters.

Usage

From source file:com.tvarit.plugin.SubnetFinder.java

License:Open Source License

public void find(MavenProject project, AmazonEC2Client amazonEC2Client, String projectName,
        final StringBuilder publicSubnetIdBuilder, final StringBuilder publicSubnetAzsBuilder,
        final String subnetType) {

    final DescribeSubnetsRequest describeAppSubnetsRequest = new DescribeSubnetsRequest();
    final Filter subnetFilter = new Filter().withName("tag-key").withValues(projectName + ":" + subnetType);
    describeAppSubnetsRequest.withFilters(subnetFilter);
    final DescribeSubnetsResult describeSubnetsResult = amazonEC2Client
            .describeSubnets(describeAppSubnetsRequest);
    describeSubnetsResult.getSubnets().stream().forEach(eachSubnet -> {
        publicSubnetAzsBuilder.append(eachSubnet.getAvailabilityZone()).append(",");
        publicSubnetIdBuilder.append(eachSubnet.getSubnetId()).append(",");
    });/* w w  w .j  a v a  2 s . c  o  m*/
    publicSubnetIdBuilder.deleteCharAt(publicSubnetIdBuilder.length() - 1);
    publicSubnetAzsBuilder.deleteCharAt(publicSubnetAzsBuilder.length() - 1);
}

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

License:Open Source License

/**
 * Get a list of security group ids for the slave
 *///from   www  .j av 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:jp.primecloud.auto.process.aws.AwsCommonProcess.java

License:Open Source License

public List<Subnet> describeSubnetsByVpcId(AwsProcessClient awsProcessClient, String vpcId) {
    DescribeSubnetsRequest request = new DescribeSubnetsRequest();
    request.withFilters(new Filter().withName("vpc-id").withValues(vpcId));
    DescribeSubnetsResult result = awsProcessClient.getEc2Client().describeSubnets(request);
    List<Subnet> subnets = result.getSubnets();

    return subnets;
}

From source file:jp.primecloud.auto.service.impl.AwsDescribeServiceImpl.java

License:Open Source License

/**
 * {@inheritDoc}//from   w w  w. jav a2s . c om
 */
@Override
public List<Subnet> getSubnets(Long userNo, Long platformNo) {
    // VPC??????
    PlatformAws platformAws = platformAwsDao.read(platformNo);
    if (BooleanUtils.isNotTrue(platformAws.getVpc())) {
        // ?VPC???????
        return new ArrayList<Subnet>();
    }

    // ??
    AwsProcessClient awsProcessClient = awsProcessClientFactory.createAwsProcessClient(userNo, platformNo);
    DescribeSubnetsRequest request = new DescribeSubnetsRequest();
    request.withFilters(new Filter().withName("vpc-id").withValues(platformAws.getVpcId()));
    DescribeSubnetsResult result = awsProcessClient.getEc2Client().describeSubnets(request);
    List<Subnet> subnets = result.getSubnets();

    // ?????????????????
    if (StringUtils.isNotEmpty(awsProcessClient.getPlatformAws().getSubnetId())) {
        List<String> subnetIds = new ArrayList<String>();
        for (String subnetId : StringUtils.split(awsProcessClient.getPlatformAws().getSubnetId(), ",")) {
            subnetIds.add(subnetId.trim());
        }

        List<Subnet> subnets2 = new ArrayList<Subnet>();
        for (Subnet subnet : subnets) {
            if (subnetIds.contains(subnet.getSubnetId())) {
                subnets2.add(subnet);
            }
        }
        subnets = subnets2;
    }

    // 
    Collections.sort(subnets, Comparators.COMPARATOR_SUBNET);

    return subnets;
}

From source file:jp.primecloud.auto.tool.management.iaasgw.AwsIaasGatewayScriptService.java

License:Open Source License

@Override
public boolean hasSubnets(String vpcId) throws AutoException {
    if (StringUtils.isEmpty(vpcId)) {
        log.info(platform.getPlatformName() + " ?vpcId???");
        System.out.println("VPCID_EMPTY");
        return false;
    }//from  w  w  w.jav  a 2  s  . c o  m

    DescribeSubnetsRequest request = new DescribeSubnetsRequest();
    request.withFilters(new Filter().withName("vpc-id").withValues(vpcId));
    DescribeSubnetsResult result = ec2Client.describeSubnets(request);
    List<Subnet> subnets = result.getSubnets();

    if (subnets.isEmpty()) {
        log.info(platform.getPlatformName() + " ?????");
        System.out.println("SUBNET_EMPTY");
        return false;
    }

    return true;
}

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)));
    }/* w  w w .  java 2  s .  com*/
    DescribeSubnetsResult ec2res = ec2.describeSubnets(ec2req);
    List<String> res = new ArrayList<String>();
    for (Subnet s : ec2res.getSubnets()) {
        res.add(s.getSubnetId());
    }
    return res;
}