List of usage examples for com.amazonaws.services.ec2.model DescribeRouteTablesResult getRouteTables
public java.util.List<RouteTable> getRouteTables()
Information about one or more route tables.
From source file:com.infinitechaos.vpcviewer.service.impl.VpcServiceImpl.java
License:Open Source License
@Override @Cacheable(value = CachingConfiguration.ROUTE_TABLE_CACHE, key = "#vpcId", condition = "#bypassCache == false") public List<RouteTable> getRouteTablesForVpcInRegion(final String vpcId, final String region, boolean bypassCache) { LOG.info("Retrieving route tables for VPC {} in region {} ({})", vpcId, region, bypassCache); DescribeRouteTablesRequest request = new DescribeRouteTablesRequest() .withFilters(new Filter().withName("vpc-id").withValues(vpcId)); DescribeRouteTablesResult result = getClientForRegion(region).describeRouteTables(request); return result.getRouteTables(); }
From source file:com.urbancode.terraform.tasks.aws.helpers.AWSHelper.java
License:Apache License
/** * Gets a list of all RouteTables or all RouteTables listed in routeTableIds from Amazon. * You can leave the list of ids empty or null to get all route tables. * * @param routeTableIds - leave this null or empty to get all RouteTables * @param ec2Client//from www .ja v a 2 s .c o m * @return RouteTables - a List of RouteTables found */ public List<RouteTable> getRouteTables(List<String> routeTableIds, AmazonEC2 ec2Client) { DescribeRouteTablesRequest request = new DescribeRouteTablesRequest(); if (routeTableIds != null && !routeTableIds.isEmpty()) { request = request.withRouteTableIds(routeTableIds); } DescribeRouteTablesResult result = ec2Client.describeRouteTables(request); return result.getRouteTables(); }
From source file:com.vmware.photon.controller.model.adapters.awsadapter.AWSNetworkService.java
License:Open Source License
public RouteTable getMainRouteTable(String vpcID, AmazonEC2AsyncClient client) { // build filter list List<Filter> filters = new ArrayList<>(); filters.add(AWSUtils.getFilter(AWSUtils.AWS_FILTER_VPC_ID, vpcID)); filters.add(AWSUtils.getFilter(AWS_MAIN_ROUTE_ASSOCIATION, "true")); DescribeRouteTablesRequest req = new DescribeRouteTablesRequest().withFilters(filters); DescribeRouteTablesResult result = client.describeRouteTables(req); // if nothing found error thrown, otherwise should be 1 return result.getRouteTables().get(0); }
From source file:org.zalando.stups.fullstop.plugin.SubnetPlugin.java
License:Apache License
@Override public void processEvent(final CloudTrailEvent event) { List<String> subnetIds = newArrayList(); List<Filter> SubnetIdFilters = newArrayList(); DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest(); List<String> instanceIds = getInstanceIds(event); AmazonEC2Client amazonEC2Client = cachingClientProvider.getClient(AmazonEC2Client.class, event.getEventData().getAccountId(), Region.getRegion(Regions.fromName(event.getEventData().getAwsRegion()))); DescribeInstancesResult describeInstancesResult = null; try {/*from w w w . ja v a 2 s . c om*/ describeInstancesResult = amazonEC2Client .describeInstances(describeInstancesRequest.withInstanceIds(instanceIds)); } catch (AmazonServiceException e) { violationStore.save(new ViolationBuilder(e.getMessage()).withEvent(event).build()); return; } List<Reservation> reservations = describeInstancesResult.getReservations(); for (Reservation reservation : reservations) { List<Instance> instances = reservation.getInstances(); subnetIds.addAll(instances.stream().map(Instance::getSubnetId).collect(Collectors.toList())); } SubnetIdFilters.add(new Filter().withName("association.subnet-id").withValues(subnetIds)); // filter by subnetId DescribeRouteTablesRequest describeRouteTablesRequest = new DescribeRouteTablesRequest() .withFilters(SubnetIdFilters); DescribeRouteTablesResult describeRouteTablesResult = amazonEC2Client .describeRouteTables(describeRouteTablesRequest); List<RouteTable> routeTables = describeRouteTablesResult.getRouteTables(); if (routeTables == null || routeTables.size() == 0) { violationStore.save(new ViolationBuilder( format("Instances %s have no routing information associated", instanceIds.toString())) .withEvent(event).build()); return; } for (RouteTable routeTable : routeTables) { List<Route> routes = routeTable.getRoutes(); routes.stream() .filter(route -> route.getState().equals("active") && route.getNetworkInterfaceId() != null && !route.getNetworkInterfaceId().startsWith("eni")) .forEach(route -> violationStore.save( new ViolationBuilder(format("ROUTES: instance %s is running in a public subnet %s", route.getInstanceId(), route.getNetworkInterfaceId())).withEvent(event) .build())); } }