POST zstack/v1/port-forwarding
Authorization: OAuth the-session-uuid
{
"params": {
"vipUuid": "214cf4f562bf40b98a7c954081f94f03",
"vipPortStart": 22.0,
"protocolType": "TCP",
"vmNicUuid": "84590db8896d4e498bf69d35239a31cc",
"name": "pf1"
},
"systemTags": [],
"userTags": []
}
systemTags
、userTags
字段可以省略。列出是为了表示body中可以包含这两个字段。Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"vipUuid":"1c4824bb6043388cac7499dd481ecaa4","vipPortStart":22.0,"protocolType":"TCP","vmNicUuid":"0611006103d335dfbfc0f9bb2a46d541","name":"pf1"}}' \
http://localhost:8080/zstack/v1/port-forwarding
名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
---|---|---|---|---|---|
vipUuid | String | body(包含在params结构中) | VIP UUID | 0.6 | |
vipPortStart | Integer | body(包含在params结构中) | VIP的起始端口号 | 0.6 | |
vipPortEnd (可选) | Integer | body(包含在params结构中) | VIP的结束端口号; 如果忽略不设置, 会默认设置为vipPortStart | 0.6 | |
privatePortStart (可选) | Integer | body(包含在params结构中) | 客户IP(虚拟机网卡的IP地址)的起始端口号; 如果忽略不设置, 会默认设置为vipPortStart | 0.6 | |
privatePortEnd (可选) | Integer | body(包含在params结构中) | 客户IP(虚拟机网卡的IP地址)的结束端口号; 如果忽略不设置, 会默认设置为vipPortEnd | 0.6 | |
protocolType | String | body(包含在params结构中) | 网络流量协议类型 |
| 0.6 |
vmNicUuid (可选) | String | body(包含在params结构中) | 云主机网卡UUID | 0.6 | |
allowedCidr (可选) | String | body(包含在params结构中) | 源CIDR; 端口转发规则只作用于源CIDR的流量; 如果忽略不设置, 会默认设置为to 0.0.0.0/0 | 0.6 | |
name | String | body(包含在params结构中) | 资源名称 | 0.6 | |
description (可选) | String | body(包含在params结构中) | 资源的详细描述 | 0.6 | |
resourceUuid (可选) | String | body(包含在params结构中) | 用户指定的资源UUID,若指定,系统不会为该资源随机分配UUID | 0.6 | |
systemTags (可选) | List | body | 系统标签 | 0.6 | |
userTags (可选) | List | body | 用户标签 | 0.6 |
{
"inventory": {
"uuid": "895a8ce93d274db78e2ef1462f8b8a29",
"name": "TestAttachRule",
"description": "test atatch rule",
"vipIp": "192.168.0.187",
"guestIp": "10.0.0.244",
"vipUuid": "6151c96fd2ac4d6cbd8f8eedffc06de5",
"vipPortStart": 33.0,
"vipPortEnd": 33.0,
"privatePortStart": 33.0,
"privatePortEnd": 33.0,
"vmNicUuid": "581ea3b08aef4096ac24e160f1ab0f8e",
"protocolType": "TCP",
"state": "Enabled",
"allowedCidr": "0.0.0.0/0",
"createDate": "Jun 7, 2017 9:20:10 PM",
"lastOpDate": "Jun 7, 2017 9:20:10 PM"
}
}
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 0.6 |
inventory | PortForwardingRuleInventory | 详情参考inventory | 0.6 |
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 0.6 |
description | String | 错误的概要描述 | 0.6 |
details | String | 错误的详细信息 | 0.6 |
elaboration | String | 保留字段,默认为null | 0.6 |
opaque | LinkedHashMap | 保留字段,默认为null | 0.6 |
cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 0.6 |
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
uuid | String | 资源的UUID,唯一标示该资源 | 0.6 |
name | String | 资源名称 | 0.6 |
description | String | 资源的详细描述 | 0.6 |
vipIp | String | VIP的IP地址 | 0.6 |
guestIp | String | 虚拟机网卡的IP地址 | 0.6 |
vipUuid | String | VIP UUID | 0.6 |
vipPortStart | Integer | VIP的起始端口号 | 0.6 |
vipPortEnd | Integer | VIP的结束端口号 | 0.6 |
privatePortStart | Integer | 客户IP的起始端口号 | 0.6 |
privatePortEnd | Integer | 客户IP的结束端口号 | 0.6 |
vmNicUuid | String | 云主机网卡UUID | 0.6 |
protocolType | String | 网络流量的协议类型 | 0.6 |
state | String | 规则可用状态 | 0.6 |
allowedCidr | String | 源CIDR; 端口转发规则只作用于源CIDR的流量 | 0.6 |
createDate | Timestamp | 创建时间 | 0.6 |
lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
CreatePortForwardingRuleAction action = new CreatePortForwardingRuleAction();
action.vipUuid = "966f9f294e094243bcfaf7eeee70aeae";
action.vipPortStart = 22.0;
action.protocolType = "TCP";
action.vmNicUuid = "ace8c962d59248e38fadac5df9a108a7";
action.name = "pf1";
action.sessionId = "5f4df8c7fae44602b5f7e5d376904d6b";
CreatePortForwardingRuleAction.Result res = action.call();
CreatePortForwardingRuleAction action = CreatePortForwardingRuleAction()
action.vipUuid = "1d130b0bb1e44aafa76d6280479f5399"
action.vipPortStart = 22.0
action.protocolType = "TCP"
action.vmNicUuid = "78c6172984874e5e9cdd3bf0248080ca"
action.name = "pf1"
action.sessionId = "4a3371ccd0cc4cdfa75ae46aeec14f41"
CreatePortForwardingRuleAction.Result res = action.call()
DELETE zstack/v1/port-forwarding/{uuid}?deleteMode={deleteMode}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 064a2c25381042d6b623c12e26418e78" \
-X DELETE http://localhost:8080/zstack/v1/port-forwarding/495b48a2bcf745e1ac584be6e366f0ab?deleteMode=Permissive
名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
---|---|---|---|---|---|
uuid | String | url | 资源的UUID,唯一标示该资源 | 0.6 | |
deleteMode (可选) | String | body |
| 0.6 | |
systemTags (可选) | List | body | 系统标签 | 0.6 | |
userTags (可选) | List | body | 用户标签 | 0.6 |
API返回
{}
,出错时返回的JSON结构包含一个error字段,例如:{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
}
}
DeletePortForwardingRuleAction action = new DeletePortForwardingRuleAction();
action.uuid = "42154ff320ea407dbc8b48088e541dcb";
action.deleteMode = "Permissive";
action.sessionId = "2b5cb5c82fb846669cd2c5e557bb140e";
DeletePortForwardingRuleAction.Result res = action.call();
DeletePortForwardingRuleAction action = DeletePortForwardingRuleAction()
action.uuid = "a8ac2d430d71487ea47419950e39ee4a"
action.deleteMode = "Permissive"
action.sessionId = "156eb3cd301546828a925386f331eb34"
DeletePortForwardingRuleAction.Result res = action.call()
GET zstack/v1/port-forwarding
GET zstack/v1/port-forwarding/{uuid}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 959a6d98336c4575a31212834d8ccc4d" \
-X GET http://localhost:8080/zstack/v1/port-forwarding?q=name=pf1&q=state=Enabled
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 0389ba8bf3c44bf8a9c5ee89d066fbdc" \
-X GET http://localhost:8080/zstack/v1/port-forwarding/3d9c9dbbea944e039d55e706aacb6899
可查询字段
运行zstack-cli命令行工具,输入QueryPortForwardingRule
并按Tab键查看所有可查询字段以及可跨表查询的资源名。
{
"inventories": [
{
"uuid": "c5cf6d7df3164418b3fe5c7569eb1dea",
"name": "TestAttachRule",
"description": "test atatch rule",
"vipIp": "192.168.0.187",
"guestIp": "10.0.0.244",
"vipUuid": "b5166a0c9adb4aaf8088022b5336209a",
"vipPortStart": 33.0,
"vipPortEnd": 33.0,
"privatePortStart": 33.0,
"privatePortEnd": 33.0,
"vmNicUuid": "8aa417eb4537475b815b289240e0c0c2",
"protocolType": "TCP",
"state": "Enabled",
"allowedCidr": "0.0.0.0/0",
"createDate": "Jun 7, 2017 9:21:17 PM",
"lastOpDate": "Jun 7, 2017 9:21:17 PM"
}
]
}
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 0.6 |
inventories | List | 详情参考inventories | 0.6 |
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 0.6 |
description | String | 错误的概要描述 | 0.6 |
details | String | 错误的详细信息 | 0.6 |
elaboration | String | 保留字段,默认为null | 0.6 |
opaque | LinkedHashMap | 保留字段,默认为null | 0.6 |
cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 0.6 |
名字 | 类型 | 描述 | 起始版本 |
---|---|---|---|
uuid | String | 资源的UUID,唯一标示该资源 | 0.6 |
name | String | 资源名称 | 0.6 |
description | String | 资源的详细描述 | 0.6 |
vipIp | String | VIP的IP地址 | 0.6 |
guestIp | String | 虚拟机网卡的IP地址 | 0.6 |
vipUuid | String | VIP UUID | 0.6 |
vipPortStart | Integer | VIP的起始端口号 | 0.6 |
vipPortEnd | Integer | VIP的结束端口号 | 0.6 |
privatePortStart | Integer | 客户IP的起始端口号 | 0.6 |
privatePortEnd | Integer | 客户IP的结束端口号 | 0.6 |
vmNicUuid | String | 云主机网卡UUID | 0.6 |
protocolType | String | 网络流量的协议类型 | 0.6 |
state | String | 规则可用状态 | 0.6 |
allowedCidr | String | 源CIDR; 端口转发规则只作用于源CIDR的流量 | 0.6 |
createDate | Timestamp | 创建时间 | 0.6 |
lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
QueryPortForwardingRuleAction action = new QueryPortForwardingRuleAction();
action.conditions = asList("name=pf1","state=Enabled");
action.sessionId = "4311e616ca8b4bb19d0792be1e08f3b8";
QueryPortForwardingRuleAction.Result res = action.call();
QueryPortForwardingRuleAction action = QueryPortForwardingRuleAction()
action.conditions = ["name=pf1","state=Enabled"]
action.sessionId = "b9745425f62d43289db77d9bfd117b35"
QueryPortForwardingRuleAction.Result res = action.call()
学习路径
ZStack Cloud 产品学习路径
快速梳理文档,点击相应文本链接,快速跳转到相应文档的页面,学习 ZStack Cloud 产品。
商务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2商务联系:
sales@zstack.io商务咨询:
400-962-2212 转 1商务联系:
channel@zstack.io商务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2商务联系:
sales@zstack.io商务咨询:
400-962-2212 转 1商务联系:
channel@zstack.io商务咨询:
400-962-2212 转 1商务联系:
channel@zstack.io下载链接已发送至您的邮箱。
如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。感谢您使用 ZStack 产品和服务。
成功提交申请。
我们将安排工作人员尽快与您取得联系。感谢您使用 ZStack 产品和服务。
立即体验
联系我们
回到顶部
商务咨询:
400-962-2212 转 1售后咨询:
400-962-2212 转 2商务联系:
sales@zstack.io成功提交申请。
我们将安排工作人员尽快与您取得联系。感谢您使用 ZStack 产品和服务。