Example usage for com.amazonaws.services.ec2.model DescribeSubnetsResult getSubnets

List of usage examples for com.amazonaws.services.ec2.model DescribeSubnetsResult getSubnets

Introduction

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

Prototype


public java.util.List<Subnet> getSubnets() 

Source Link

Document

Information about one or more subnets.

Usage

From source file:com.cloudera.director.aws.ec2.ebs.EBSAllocator.java

License:Apache License

/**
 * Get the availability zone from a Subnet ID.
 *
 * @param subnetId the id of the subnet/*from w  w w .  ja  v  a  2s .com*/
 * @return the availability zone of the subnet
 */
private String getAvailabilityZoneFromSubnetId(String subnetId) {
    DescribeSubnetsRequest request = new DescribeSubnetsRequest().withSubnetIds(subnetId);
    DescribeSubnetsResult result = client.describeSubnets(request);
    Subnet subnet = Iterables.getOnlyElement(result.getSubnets());
    return subnet.getAvailabilityZone();
}

From source file:com.cloudera.director.aws.ec2.EC2InstanceTemplateConfigurationValidator.java

License:Apache License

/**
 * Validates the configured subnet ID./*  w ww.  j  a v a  2 s.  c  o m*/
 *
 * @param client              the EC2 client
 * @param configuration       the configuration to be validated
 * @param accumulator         the exception condition accumulator
 * @param localizationContext the localization context
 */
@VisibleForTesting
void checkSubnetId(AmazonEC2Client client, Configured configuration,
        PluginExceptionConditionAccumulator accumulator, LocalizationContext localizationContext) {
    String subnetId = configuration.getConfigurationValue(SUBNET_ID, localizationContext);
    LOG.info(">> Describing subnet '{}'", subnetId);

    try {
        DescribeSubnetsResult result = client
                .describeSubnets(new DescribeSubnetsRequest().withSubnetIds(subnetId));
        checkCount(accumulator, SUBNET_ID, localizationContext, "Subnet", result.getSubnets());
    } catch (AmazonServiceException e) {
        if (e.getErrorCode().startsWith(INVALID_SUBNET_ID)) {
            addError(accumulator, SUBNET_ID, localizationContext, null, INVALID_SUBNET_MSG, subnetId);
        } else {
            throw Throwables.propagate(e);
        }
    }
}

From source file:com.infinitechaos.vpcviewer.service.impl.VpcServiceImpl.java

License:Open Source License

@Override
@Cacheable(value = CachingConfiguration.SUBNET_CACHE, key = "#vpcId", condition = "#bypassCache == false")
public List<Subnet> getSubnetsForVpcInRegion(String vpcId, final String region, boolean bypassCache) {
    Preconditions.checkArgument(StringUtils.isNotBlank(vpcId), "vpcId may not be null or blank");
    Preconditions.checkArgument(StringUtils.isNotBlank(region), "region may not be null or blank");

    LOG.info("Retrieving subnets for VPC {} in region {} ({})", vpcId, region, bypassCache);
    DescribeSubnetsRequest request = new DescribeSubnetsRequest()
            .withFilters(new Filter().withName("vpc-id").withValues(vpcId));
    DescribeSubnetsResult result = getClientForRegion(region).describeSubnets(request);

    return result.getSubnets();
}

From source file:com.pinterest.arcee.handler.SpecsHandler.java

License:Apache License

public List<SpecBean> getSubnets() {
    DescribeSubnetsRequest request = new DescribeSubnetsRequest();
    request.setFilters(//from w w  w  .  j  av a2s.c o m
            Arrays.asList(new Filter[] { new Filter("VpcId", Arrays.asList(new String[] { VPC_ID })) }));
    DescribeSubnetsResult result = client.describeSubnets();
    List<Subnet> subnets = result.getSubnets();
    ArrayList<SpecBean> subnetsName = new ArrayList<>();
    for (Subnet subnet : subnets) {
        SpecBean specBean = new SpecBean();
        specBean.setSpecId(subnet.getSubnetId());

        specBean.addInfo("zone", subnet.getAvailabilityZone());

        if (subnet.getTags().isEmpty()) {
            specBean.addInfo("tag", "");
        } else {
            specBean.addInfo("tag", subnet.getTags().get(0).getValue());
        }
        subnetsName.add(specBean);
    }
    return subnetsName;
}

From source file:com.pinterest.clusterservice.aws.AwsManagerImpl.java

License:Apache License

@Override
public int getAvailableCapacityInSubnet(String subnetId) throws Exception {
    DescribeSubnetsRequest subnetsRequest = new DescribeSubnetsRequest();
    subnetsRequest.setSubnetIds(Arrays.asList(subnetId));
    DescribeSubnetsResult subnetsResult = ec2Client.describeSubnets(subnetsRequest);
    List<Subnet> subnets = subnetsResult.getSubnets();
    if (subnets.isEmpty()) {
        return 0;
    }//from w  ww . ja  v a 2s. c  o m

    Subnet subnet = subnets.get(0);
    return subnet.getAvailableIpAddressCount();
}

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(",");
    });/*from ww w.  ja  v  a  2 s .  c  om*/
    publicSubnetIdBuilder.deleteCharAt(publicSubnetIdBuilder.length() - 1);
    publicSubnetAzsBuilder.deleteCharAt(publicSubnetAzsBuilder.length() - 1);
}

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

License:Apache License

/**
 *
 * @param subnetIds/* www.  ja  va2 s  . c o 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:com.vmware.photon.controller.model.adapters.awsadapter.AWSNetworkService.java

License:Open Source License

public Subnet getSubnet(String subnetID, AmazonEC2AsyncClient client) {
    DescribeSubnetsRequest req = new DescribeSubnetsRequest().withSubnetIds(subnetID);
    DescribeSubnetsResult subnetResult = client.describeSubnets(req);
    // if subnet not found an error thrown
    List<Subnet> subs = subnetResult.getSubnets();
    return subs.get(0);
}

From source file:de.unibi.cebitec.bibigrid.meta.aws.CreateClusterEnvironmentAWS.java

@Override
public CreateClusterEnvironmentAWS createSubnet() {

    ///////////////////////////////////////////////////////////////////////
    ///// check for unused Subnet Cidr and create one
    DescribeSubnetsRequest describesubnetsreq = new DescribeSubnetsRequest();
    DescribeSubnetsResult describesubnetres = cluster.getEc2().describeSubnets(describesubnetsreq);
    List<Subnet> loSubnets = describesubnetres.getSubnets();

    List<String> listofUsedCidr = new ArrayList<>(); // contains all subnet.cidr which are in current vpc
    for (Subnet sn : loSubnets) {
        if (sn.getVpcId().equals(vpc.getVpcId())) {
            listofUsedCidr.add(sn.getCidrBlock());
        }//from   ww w.j  a  v a2  s  .  c  om
    }

    SubNets subnets = new SubNets(vpc.getCidrBlock(), 24);
    String SUBNETCIDR = subnets.nextCidr(listofUsedCidr);

    log.debug(V, "Use {} for generated SubNet.", SUBNETCIDR);

    // create new subnetdir      
    CreateSubnetRequest createsubnetreq = new CreateSubnetRequest(vpc.getVpcId(), SUBNETCIDR);
    createsubnetreq.withAvailabilityZone(cluster.getConfig().getAvailabilityZone());
    CreateSubnetResult createsubnetres = cluster.getEc2().createSubnet(createsubnetreq);
    subnet = createsubnetres.getSubnet();

    return this;
}

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  va2s  .  c om*/
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;
}