示例接口摘要
初始化客户端
Copied!
String user = "******";
String password = "******";
String projectId = "******";
String userDomainId = "******";
String authUrl = "******";
OSClient.OSClientV3 osclient = OSFactory.builderV3().endpoint(authUrl)
.credentials(user, password, Identifier.byId(userDomainId))
.scopeToProject(Identifier.byId(projectId)).authenticate();
查询路由器列表
功能介绍
查询提交请求的租户有权限操作的所有路由器信息,单次查询最多返回2000条数据,超过2000后会返回分页标记。查询请参考分页查询。
接口实现代码示例:
Copied!
//List all routers
List<? extends Router> routerListResp = osclient.networking().router().list();
if (null != routerListResp && routerListResp.size() > 0) {
System.out.println("List all routers success, size = " + routerListResp.size());
} else {
System.out.println("List all routers failed");
}
查询路由器
功能介绍
查询路由器详情。
接口实现代码示例:
Copied!
//Get a router
Router routerGetResp = osclient.networking().router().get(routerId);
if (null != routerGetResp) {
System.out.println("Get a router success, id = " + routerGetResp.getId());
} else {
System.out.println("Get a router failed");
}
创建路由器
功能介绍
创建路由器。
接口实现代码示例:
Copied!
//Create a router
String routerName = "******";
String networkId = "******";
Router router = NeutronRouter.builder().name(routerName).adminStateUp(true).externalGateway(networkId).build();
Router createResp = osclient.networking().router().create(router);
if (null != createResp) {
System.out.println("Create a router success, id = " + createResp.getId());
} else {
System.out.println("Create a router failed");
}
//Create a basic router with minimal params
Router miniCreateResp = osclient.networking().router().create(routerName, true);
if (null != miniCreateResp) {
System.out.println("Create a router success, id = " + miniCreateResp.getId());
} else {
System.out.println("Create a router failed");
}
更新路由器
功能介绍
更新路由器。
接口实现代码示例:
Copied!
//Toggle AdminStateUp
Router routerToggleResp = osclient.networking().router().toggleAdminStateUp(routerId, true);
if (null != routerToggleResp) {
System.out.println("Toggle AdminStateUp success, id = " + routerToggleResp.getId());
} else {
System.out.println("Toggle AdminStateUp failed");
}
//Update a router
Router routerUpdate = NeutronRouter.builder().name(routerName).adminStateUp(true).externalGateway(networkId).id(routerId).build();
Router routerUpdateResp = osclient.networking().router().update(routerUpdate);
if (null != routerUpdateResp) {
System.out.println("Update a router success, id = " + routerUpdateResp.getId());
} else {
System.out.println("Update a router failed");
}
删除路由器
功能介绍
删除路由器。
接口实现代码示例:
Copied!
//Delete a router
ActionResponse resp = osclient.networking().router().delete(miniCreateResp.getId());
if (resp.isSuccess()) {
System.out.println("Delete a router success");
} else {
System.out.println("Delete a router failed");
}
路由器添加接口
功能介绍
添加路由器接口。
接口约束:
- 使用端口的时候,端口上有且只有一个IP地址。
- 使用子网的时候,子网上必须配置gatewayIP地址。
- “provider:network_type”为“geneve”的网络不可以添加路由器。
- 一个子网只能添加一个路由器。
接口实现代码示例:
Copied!
//Add router interface
String routerId = "******";
String subnetsId = "******";
RouterInterface interfaceResp = osclient.networking().router().attachInterface(routerId, AttachInterfaceType.SUBNET, subnetsId);
if (null != interfaceResp) {
System.out.println("Add router interface success, id = " + interfaceResp.getId());
} else {
System.out.println("Add router interface failed");
}
路由器删除接口
功能介绍
删除路由器接口。
接口约束:
如果该子网上还有负载均衡器对象,不允许删除路由器接口。
接口实现代码示例:
Copied!
//Delete a router interface
RouterInterface routerInterfaceDeleteResp = osclient.networking().router().detachInterface(routerId, subnetsId, null);
if (null != routerInterfaceDeleteResp) {
System.out.println("Delete a router interface success, id = " + routerInterfaceDeleteResp.getId());
} else {
System.out.println("Delete a router interface failed");
}
版本说明
本示例基于华为云SDK V2.0版本开发,高版本示例正在开发中。
功能介绍
路由即路由规则,在路由中通过配置目的地址、下一跳类型、下一跳地址等信息,来决定网络流量的走向。路由分为系统路由和自定义路由。
系统路由:系统自动添加且无法修改或删除的路由。
创建路由表后,系统会自动在路由表中添加如下的系统路由,表示VPC内实例互通。
目的地址是100.64.0.0/10、198.19.128.0/20的路由。
目的地址是子网网段的路由。
说明: 除以上系统路由外,系统还会自动添加目的地址是127.0.0.0/8的路由,表示本地回环地址。
自定义路由:可以修改和删除的路由。自定义路由的目地地址不能与系统路由的目地地址重叠。
准备工作
1、获取华为云VPC开发工具包(SDK)。
2、华为云 Java SDK 支持认证方式:token认证。
3、华为云 Java SDK 支持 Java JDK 1.8 及其以上版本。
示例接口摘要
初始化客户端
查询路由器列表
功能介绍
查询提交请求的租户有权限操作的所有路由器信息,单次查询最多返回2000条数据,超过2000后会返回分页标记。查询请参考分页查询。
接口实现代码示例:
查询路由器
功能介绍
查询路由器详情。
接口实现代码示例:
创建路由器
功能介绍
创建路由器。
接口实现代码示例:
更新路由器
功能介绍
更新路由器。
接口实现代码示例:
删除路由器
功能介绍
删除路由器。
接口实现代码示例:
路由器添加接口
功能介绍
添加路由器接口。
接口约束:
接口实现代码示例:
路由器删除接口
功能介绍
删除路由器接口。
接口约束:
如果该子网上还有负载均衡器对象,不允许删除路由器接口。
接口实现代码示例:
参考
更多信息请参考虚拟私有云VPC服务。