List of usage examples for com.amazonaws.services.ec2.model DescribeVpcEndpointsRequest setNextToken
public void setNextToken(String nextToken)
The token for the next set of items to return.
From source file:org.lendingclub.mercator.aws.VPCEndpointScanner.java
License:Apache License
@Override protected void doScan() { GraphNodeGarbageCollector gc = newGarbageCollector().bindScannerContext(); DescribeVpcEndpointsRequest request = new DescribeVpcEndpointsRequest(); do {/*from w ww . jav a 2 s.co m*/ DescribeVpcEndpointsResult result = getClient().describeVpcEndpoints(request); result.getVpcEndpoints().forEach(endpoint -> { ObjectNode n = convertAwsObject(endpoint, getRegion()); NeoRxClient neo4j = getNeoRxClient(); try { String cypher = "merge (x:AwsVpcEndpoint {aws_arn:{arn}}) set x+={props}, x.updateTs=timestamp() return x"; String arn = n.path("aws_arn").asText(); neo4j.execCypher(cypher, "arn", arn, "props", n).forEach(it -> { gc.MERGE_ACTION.accept(it); }); LinkageHelper routeTableLinkage = new LinkageHelper().withNeo4j(neo4j) .withFromLabel(getNeo4jLabel()).withFromArn(arn).withTargetLabel("AwsRouteTable") .withLinkLabel("AVAILABLE_IN").withTargetValues(endpoint.getRouteTableIds().stream() .map(r -> createEc2Arn("route-table", r)).collect(Collectors.toList())); routeTableLinkage.execute(); LinkageHelper vpcLinkage = new LinkageHelper().withNeo4j(neo4j).withFromLabel(getNeo4jLabel()) .withFromArn(arn).withTargetLabel("AwsVpc").withLinkLabel("OWNED_BY") .withTargetValues(Collections.singletonList(createEc2Arn("vpc", endpoint.getVpcId()))); vpcLinkage.execute(); incrementEntityCount(); } catch (RuntimeException e) { gc.markException(e); maybeThrow(e); } }); request.setNextToken(result.getNextToken()); } while (!Strings.isNullOrEmpty(request.getNextToken())); }