本文整理汇总了Java中com.amazonaws.services.ec2.model.RouteTable类的典型用法代码示例。如果您正苦于以下问题:Java RouteTable类的具体用法?Java RouteTable怎么用?Java RouteTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RouteTable类属于com.amazonaws.services.ec2.model包,在下文中一共展示了RouteTable类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: RouteTableDTO
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public RouteTableDTO(final RouteTable routeTable) {
this.routeTableId = routeTable.getRouteTableId();
this.vpcId = routeTable.getVpcId();
this.routes.addAll(
routeTable.getRoutes()
.stream()
.map(RouteDTO::new)
.collect(Collectors.toList()));
this.tags.addAll(
routeTable.getTags()
.stream()
.map(TagDTO::new)
.collect(Collectors.toList()));
this.associations.addAll(
routeTable.getAssociations()
.stream()
.map(RouteTableAssociationDTO::new)
.collect(Collectors.toList()));
this.propagatingVgws.addAll(
routeTable.getPropagatingVgws()
.stream()
.map(PropagatingVgwDTO::new)
.collect(Collectors.toList()));
}
示例2: getMainRouteTable
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
/**
* Get the main route table for a given VPC
*/
public RouteTable getMainRouteTable(String vpcId) {
// 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 res = this.client.describeRouteTables(req);
List<RouteTable> routeTables = res.getRouteTables();
return routeTables.isEmpty() ? null : routeTables.get(0);
}
示例3: createRouteTable
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
/**
* Create a route table
*/
public DeferredResult<String> createRouteTable(String vpcId) {
CreateRouteTableRequest req = new CreateRouteTableRequest()
.withVpcId(vpcId);
String message = "Create AWS Route Table on VPC [" + vpcId + "].";
AWSDeferredResultAsyncHandler<CreateRouteTableRequest, CreateRouteTableResult> handler = new
AWSDeferredResultAsyncHandler<>(this.service, message);
this.client.createRouteTableAsync(req, handler);
return handler.toDeferredResult()
.thenApply(CreateRouteTableResult::getRouteTable)
.thenApply(RouteTable::getRouteTableId);
}
示例4: consumeSuccess
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
/**
* Update the main route table information for the VPC that is being mapped to a network
* state. Query AWS for the main route tables with a list of VPCs. From the result set find
* the relevant route table Id and upda
*/
@Override
protected void consumeSuccess(DescribeRouteTablesRequest request,
DescribeRouteTablesResult result) {
for (RouteTable routeTable : result.getRouteTables()) {
if (this.context.vpcs.containsKey(routeTable.getVpcId())) {
NetworkState networkStateToUpdate = this.context.vpcs
.get(routeTable.getVpcId());
networkStateToUpdate.customProperties.put(AWS_VPC_ROUTE_TABLE_ID,
routeTable.getRouteTableId());
this.context.vpcs.put(routeTable.getVpcId(),
networkStateToUpdate);
}
}
}
示例5: testGetMainRouteTable
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
@Test
public void testGetMainRouteTable() throws Throwable {
Vpc defVPC = this.netClient.getDefaultVPC();
assertTrue(defVPC != null);
RouteTable routeTable = this.netClient.getMainRouteTable(defVPC.getVpcId());
assertTrue(routeTable != null);
}
示例6: testEnvironmentCreation
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
@Test
public void testEnvironmentCreation() throws Throwable {
boolean attached = false;
String gatewayID = this.netClient.createInternetGateway();
assertTrue(gatewayID != null);
String vpcID = this.netClient.createVPC(AWS_DEFAULT_SUBNET_CIDR);
assertTrue(vpcID != null);
String subnetID = this.netClient.createSubnet(AWS_DEFAULT_SUBNET_CIDR, vpcID).getSubnetId();
this.netClient.attachInternetGateway(vpcID, gatewayID);
InternetGateway gw = this.netClient.getInternetGateway(gatewayID);
List<InternetGatewayAttachment> attachments = gw.getAttachments();
// ensure we are attached to newly created vpc
for (InternetGatewayAttachment attachment : attachments) {
if (attachment.getVpcId().equalsIgnoreCase(vpcID)) {
attached = true;
break;
}
}
assertTrue(attached);
RouteTable routeTable = this.netClient.getMainRouteTable(vpcID);
this.netClient.createInternetRoute(gatewayID, routeTable.getRouteTableId(), "0.0.0.0/0");
//remove resources
this.netClient.detachInternetGateway(vpcID, gatewayID);
this.netClient.deleteInternetGateway(gatewayID);
this.netClient.deleteSubnet(subnetID);
this.netClient.deleteVPC(vpcID);
}
示例7: VpcDetailDTO
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public VpcDetailDTO(final Vpc vpc, final List<Subnet> subnets, final List<RouteTable> routeTables) {
super(vpc);
final Map<String, SubnetDetailDTO> subnetDetails = new HashMap<>();
subnetDetails.putAll(
subnets.stream()
.map(SubnetDetailDTO::new)
.collect(Collectors.toMap(s -> s.getSubnetId(), identity())));
LOG.trace("Details map: {}", subnetDetails);
routeTables.stream()
.map(RouteTableDTO::new)
.forEach(rt ->
rt.getAssociations().forEach(assoc -> {
SubnetDetailDTO dto = subnetDetails.get(assoc.getSubnetId());
if (dto == null) {
if (LOG.isTraceEnabled()) {
LOG.trace("RT: {}, Assoc.SubnetID: {}, Assocs: {}",
rt.getRouteTableId(),
assoc.getSubnetId(),
rt.getAssociations());
}
return;
}
dto.setRouteTableId(rt.getRouteTableId());
dto.getRoutes().addAll(rt.getRoutes());
}));
this.subnets.addAll(subnetDetails.values());
}
示例8: SubnetDetailDTO
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public SubnetDetailDTO(final Subnet subnet, final RouteTable routeTable) {
super(subnet);
routeTableId = routeTable.getRouteTableId();
routes.addAll(
routeTable.getRoutes()
.stream()
.map(RouteDTO::new)
.collect(Collectors.toList()));
}
示例9: getRouteTablesForVpcInRegion
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
@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();
}
示例10: toVpcRouteTables
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public List<AbstractResource<?>> toVpcRouteTables(List<RouteTable> routeTables, String accountId, Region region, DateTime dt) {
List<AbstractResource<?>> resources = new ArrayList<>();
for (RouteTable routeTable : routeTables) {
VpcRouteTable vpcRouteTable = new VpcRouteTable();
conf(vpcRouteTable, accountId, region, dt);
vpcRouteTable.setResource(routeTable);
resources.add(vpcRouteTable);
}
log.debug("{} route tables found via api and converted to VpcRouteTable", resources.size());
return resources;
}
示例11: checkIfRoutesExist
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
/**
* Checks if routes between the selected VPCs already exist
*
* @param vpnEndpoints
* @return
*/
private boolean checkIfRoutesExist(List<VPNEndpoint> vpnEndpoints) {
boolean routesExist = false;
for (VPNEndpoint vpnEndpoint : vpnEndpoints) {
ec2Client.setEndpoint(vpnEndpoint.getRegion().getEndpoint());
DescribeRouteTablesResult descRouteTableResult = ec2Client.describeRouteTables();
List<RouteTable> routeTables = descRouteTableResult.getRouteTables();
for (RouteTable routeTable : routeTables) {
if (routeTable.getVpcId().equals(vpnEndpoint.getVpc().getVpcId())) {
List<Route> routes = routeTable.getRoutes();
for (Route route : routes) {
for (VPNEndpoint extVpnEndpoint : vpnEndpoints) {
if (!vpnEndpoint.equals(extVpnEndpoint)) {
LOG.debug("Checking if route allows requested traffic: " + route);
if (route.getDestinationCidrBlock().endsWith(extVpnEndpoint.getVpc().getCidrBlock())) {
routesExist = true;
LOG.error("A route already exists between " + vpnEndpoint.getVpc().getCidrBlock() + " and " + extVpnEndpoint.getVpc().getCidrBlock());
}
}
}
}
}
}
}
return routesExist;
}
示例12: createAndAssociateRoutes
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
/**
* Create routes
*
* @param vpnEndpoints
*/
private void createAndAssociateRoutes(List<VPNEndpoint> vpnEndpoints) {
for (VPNEndpoint vpnEndpoint : vpnEndpoints) {
ec2Client.setEndpoint(vpnEndpoint.getRegion().getEndpoint());
for (VPNEndpoint extVpnEndpoint : vpnEndpoints) {
if (!vpnEndpoint.equals(extVpnEndpoint)) {
// Get route tables
DescribeRouteTablesResult descRouteTablesResult = ec2Client.describeRouteTables();
List<RouteTable> routeTables = descRouteTablesResult.getRouteTables();
for (RouteTable routeTable : routeTables) {
if (routeTable.getVpcId().equals(vpnEndpoint.getVpc().getVpcId())) {
// Create the route
CreateRouteRequest createRouteReq = new CreateRouteRequest();
createRouteReq.setDestinationCidrBlock(extVpnEndpoint.getVpc().getCidrBlock());
createRouteReq.setInstanceId(vpnEndpoint.getInstance().getInstanceId());
createRouteReq.setRouteTableId(routeTable.getRouteTableId());
LOG.debug("About to create a route in " + vpnEndpoint.getVpc().getVpcId() + " to " + extVpnEndpoint.getVpc().getVpcId() + " in route table: " + routeTable.getRouteTableId());
ec2Client.createRoute(createRouteReq);
LOG.debug("Created route in " + vpnEndpoint.getVpc().getVpcId() + " to " + extVpnEndpoint.getVpc().getVpcId() + " in route table: " + routeTable.getRouteTableId());
}
}
}
}
}
}
示例13: listRegionRouteTables
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public HashMap<Region, List> listRegionRouteTables(AWSCredentials awsCreds) {
AmazonEC2Client ec2Client = new AmazonEC2Client(awsCreds);
List<Region> regions = new ArrayList();
DescribeRegionsResult descRegionsResult = ec2Client.describeRegions();
if (descRegionsResult != null) {
regions = descRegionsResult.getRegions();
}
HashMap<Region, List> regionRouteTablesMap = new HashMap();
ExecutorService listRouteTablesExecutor = Executors.newFixedThreadPool(8);
for (Region region : regions) {
List<RouteTable> routeTables = new ArrayList();
regionRouteTablesMap.put(region, routeTables);
Runnable worker = new ListRouteTableRunnable(awsCreds, region, routeTables);
listRouteTablesExecutor.execute(worker);
}
listRouteTablesExecutor.shutdown();
try {
listRouteTablesExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
LOG.error("Caught InterruptedException: " + e.getMessage());
}
return regionRouteTablesMap;
}
示例14: ListRouteTableRunnable
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
public ListRouteTableRunnable(AWSCredentials awsCreds, Region region, List<RouteTable> routeTables) {
this.region = region;
this.routeTables = routeTables;
ec2Client = new AmazonEC2Client(awsCreds);
ec2Client.setEndpoint(region.getEndpoint());
LOG.debug("Set endpoint to " + region.getEndpoint());
}
示例15: visitRouteTable
import com.amazonaws.services.ec2.model.RouteTable; //导入依赖的package包/类
private void visitRouteTable(VPCDiagramBuilder vpcDiagram, RouteTable routeTable) throws CfnAssistException {
logger.debug("visit routetable " + routeTable.getRouteTableId());
List<Route> routes = routeTable.getRoutes();
List<RouteTableAssociation> usersOfTable = routeTable.getAssociations();
for (RouteTableAssociation usedBy : usersOfTable) {
String subnetId = usedBy.getSubnetId(); // can subnet ever be null in an association?
if (subnetId!=null) {
vpcDiagram.addAsssociatedRouteTable(routeTable, subnetId); // possible duplication if route table reused?
for (Route route : routes) {
vpcDiagram.addRoute(routeTable.getRouteTableId(), subnetId, route);
}
}
}
}