VPN
获取Endpoint
在确认您使用SDK配置Endpoint时,可先阅读开发人员指南中关于 VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分,VPN服务是VPC服务的一部分,使用VPC服务域名。
获取AK/SK
要使用百度云产品,您需要拥有一个百度云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。可以通过如下步骤获得并了解您的AK/SK信息:
新建VpnClient
VpnClient是Vpn服务的客户端,为开发者与Vpn服务进行交互提供了一系列的方法。 新建VpnClient时,需要先使用Endpoint、AK、SK对VpnClientConfiguration类型的config实例进行配置,再使用config实例对VpnClient进行配置,具体配置方法如下:
1static final String HOST = "";
2static final String AK = "";
3static final String SK = "";
4VpnClientConfiguration config = new VpnClientConfiguration();
5config.setCredentials(new DefaultBceCredentials(AK, SK));
6config.setEndpoint(HOST);
7VpnClient vpnClient = new VpnClient(config);
            创建VPN网关
函数声明
1public CreateVpnResponse createVpn(CreateVpnRequest createVpnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:创建VPN请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "vpnId": "vpn-ku4cxya6nisq"
4}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleCreateVpn.java
释放VPN网关
函数声明
1public void deleteVpn(DeleteVpnRequest deleteVpnResquest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:释放VPN网关请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleDeleteVpn.java
更新VPN网关
函数声明
1public void updateVpn(UpdateVpnRequest updateVpnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:更新VPN网关请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleUpdateVpn.java
查询VPN网关列表
函数声明
1public ListVpnResponse listVpns(ListVpnRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:查询VPN网关列表请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "nextMarker": "vpn-xktdeMSf",
4    "marker": "vpn-IyWRtII7",
5    "maxKeys": 1,
6    "isTruncated": true,
7    "vpns": [
8        {
9            "vpnId": "vpn-9c875b4065b5",
10            "vpnName": "VpnJavaSdkTest2",
11            "description": "this is a desc",
12            "status": "unconfigured",
13            "expiredTime": null,
14            "paymentTiming": "Postpaid",
15            "eip": "",
16            "tags": [
17                {
18                    "tagKey": "tagKey",
19                    "tagValue": "tagValue"
20                }
21            ],
22            "bandwidthInMbps": 0,
23            "vpcId": "vpc-8gc432kidqqb",
24            "vpnConnNum": 0,
25            "vpnConns": null,
26            "sslVpnServer": null,
27            "type": "SSL",
28            "maxConnection": 20,
29            "createTime": "2024-12-24 16:41:00",
30            "deleteProtect": true
31        }
32    ]
33}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleListVpn.java
查询VPN网关详情
函数声明
1public GetVpnResponse getVpn(String vpnId) {
2    ......
3}
            参数含义
请参考OpenAPI文档:查询VPN网关详情请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "vpnId": "vpn-9c875b4065b5",
4    "vpnName": "VpnJavaSdkTest2",
5    "description": "this is a desc",
6    "status": "unconfigured",
7    "expiredTime": null,
8    "paymentTiming": "Postpaid",
9    "eip": "",
10    "tags": [
11        {
12            "tagKey": "tagKey",
13            "tagValue": "tagValue"
14        }
15    ],
16    "bandwidthInMbps": 0,
17    "vpcId": "vpc-8gc432kidqqb",
18    "vpnConnNum": 0,
19    "vpnConns": null,
20    "sslVpnServer": null,
21    "type": "SSL",
22    "maxConnection": 20,
23    "createTime": "2024-12-24 16:41:00",
24    "deleteProtect": true
25}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleGetVpn.java
VPN网关绑定EIP
函数声明
1public void bindEip(BindEipRequest bindEipRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:VPN网关绑定EIP请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleBindEip.java
VPN网关解绑EIP
函数声明
1public void bindEip(BindEipRequest bindEipRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:VPN网关解绑EIP请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleUnBindEip.java
VPN网关续费
函数声明
1public void renewVpn(RenewVpnRequest renewVpnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:VPN网关续费请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleRenewVpn.java
创建VPN网关隧道
函数声明
1public CreateVpnConnResponse createVpnConn(CreateVpnConnRequest createVpnConnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:创建VPN网关隧道请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "vpnConnId": "vpnconn-ku4cxya6nisq"
4}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleCreateVpnConn.java
更新VPN网关隧道
函数声明
1public void updateVpnConn(UpdateVpnConnRequest updateVpnConnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:更新VPN网关隧道请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleUpdateVpnConn.java
查询VPN网关隧道列表
函数声明
1public ListVpnConnResponse listVpnConns(ListVpnConnRequest listVpnConnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:查询VPN网关隧道列表请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "vpnConns": [
4        {
5            "secretKey": "ddd22@www",
6            "localSubnets": ["192.168.100.0/24"],
7            "remoteIp": "10.107.245.188",
8            "remoteSubnets": ["192.168.100.0/24"],
9            "description": "111",
10            "vpnConnName": "vpncon",
11            "ikeConfig": 
12                {
13                    "ikeVersion": "v1", 
14                    "ikeMode": "main", 
15                    "ikeEncAlg": "aes", 
16                    "ikeAuthAlg": "sha1", 
17                    "ikePfs": "group2",
18                    "ikeVersion": "v1"
19                },
20            "ipsecConfig": 
21                {
22                    "ipsecEncAlg": "aes", 
23                    "ipsecAuthAlg": "sha1", 
24                    "ipsecPfs": "group2", 
25                    "ipsecLifetime": "28800s"
26                }       
27        }
28    ]
29}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleListVpnConn.java
删除VPN网关隧道
函数声明
1public void deleteVpnConn(DeleteVpnConnRequest deleteVpnConnRequest) {
2    ......
3}
            参数含义
请参考OpenAPI文档:删除VPN网关隧道请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleDeleteVpnConn.java
创建SSL-VPN服务端
函数声明
1public CreateSslVpnServerResponse createSslVpnServer(CreateSslVpnServerRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:创建SSL-VPN服务端请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "sslVpnServerId": "sslvpn-5b2hq4nm40tt"
4}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleCreateSslVpnServer.java
查询SSL-VPN服务端
函数声明
1public GetSslVpnServerResponse getSslVpnServer(String vpnId) {
2    ......
3}
            参数含义
请参考OpenAPI文档:查询SSL-VPN服务端请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "vpnId": "vpn-shyt1vzgqc3z",
4    "sslVpnServerId": "sslvpn-5b2hq4nm40tt",
5    "sslVpnServerName": "hzb_1_1",
6    "interfaceType": "tap",
7    "status": "active",
8    "localSubnets": ["192.168.0.0/24"],
9    "remoteSubnet": "172.168.0.0/16",
10    "maxConnection": 10,
11    "clientDns":""
12} 
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleGetSslVpnServer.java
更新SSL-VPN服务端
函数声明
1public void updateSslVpnServer(UpdateSslVpnServerRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:更新SSL-VPN服务端请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleUpdateSslVpnServer.java
删除SSL-VPN服务端
函数声明
1public void deleteSslVpnServer(DeleteSslVpnServerRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:删除SSL-VPN服务端请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleDeleteSslVpnServer.java
批量创建SSL-VPN用户
函数声明
1public BatchCreateSslVpnUserResponse batchCreateSslVpnUser(BatchCreateSslVpnUserRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:批量创建SSL-VPN用户请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "sslVpnUserIds": ["vpn-ssl-user-d4fwdu3dw0m8"]
4}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleBatchCreateSslVpnUser.java
更新SSL-VPN用户
函数声明
1public void updateSslVpnUser(UpdateSslVpnUserRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:更新SSL-VPN用户请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleUpdateSslVpnUser.java
查询SSL-VPN用户列表
函数声明
1public ListSslVpnUserResponse getSslVpnUser(ListSslVpnUserRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:查询SSL-VPN用户列表请求参数
返回值
- 操作成功
 
1{
2    "metadata":具体信息参考附录metadata部分,
3    "marker": "vpn-ssl-user-xynkefqf3n5x",
4    "maxKeys": 1,
5    "isTruncated": false,
6    "sslVpnUsers": [
7        {
8            "userId": "vpn-ssl-user-xynkefqf3n5x",
9            "userName": "user",
10            "description": "desc"
11        }
12    ]
13}
            - 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleGetSslVpnUser.java
删除SSL-VPN用户
函数声明
1public void deleteSslVpnUser(DeleteSslVpnUserRequest request) {
2    ......
3}
            参数含义
请参考OpenAPI文档:删除SSL-VPN用户请求参数
返回值
- 操作成功
 
无返回值
- 操作失败
 
操作失败返回异常列表参考:异常列表
示例代码
具体代码示例参考:ExampleDeleteSslVpnUser.java
附录
公共返回信息metadata格式
1 {
2      "bceRequestId":"f5f0821d-45fe-439b-bbf4-fc48b639f84a",
3      "contentLength":28,
4      "contentType":"application/json;charset=UTF-8",
5      "date":1701917695000,
6      "server":"openresty/1.15.8.1"
7 }
            