文档目录

三层网络相关接口

创建三层网络(CreateL3Network)

API请求

URLs
POST zstack/v1/l3-networks
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-L3Network",
    "type": "L3BasicNetwork",
    "l2NetworkUuid": "bb059728e72f3ff1b3ae2fc9caba3dce",
    "category": "Private",
    "system": false,
    "enableIPAM": true
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"Test-L3Network","type":"L3BasicNetwork","l2NetworkUuid":"bb059728e72f3ff1b3ae2fc9caba3dce","category":"Private","system":false,"enableIPAM":true}}' \
http://localhost:8080/zstack/v1/l3-networks
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 三层网络的名称 0.6
description (可选) String body(包含在params结构中) 三层网络的详细描述 0.6
type (可选) String body(包含在params结构中) 三层网络类型
  • L3BasicNetwork
  • L3VpcNetwork
0.6
l2NetworkUuid String body(包含在params结构中) 二层网络UUID 0.6
ipVersion (可选) Integer body(包含在params结构中) ip协议号
  • 4
  • 6
4.6.21
system (可选) boolean body(包含在params结构中) 是否用于系统云主机 0.6
dnsDomain (可选) String body(包含在params结构中) DNS域 0.6
resourceUuid (可选) String body(包含在params结构中) 资源UUID。若指定,三层网络会使用该字段值作为UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
category (可选) String body(包含在params结构中) 网络类型,需要与system标签搭配使用,system为false时可设置为Public、Private
  • Public
  • Private
  • System
2.2
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 4.6.21
enableIPAM (可选) Boolean body(包含在params结构中) IP地址管理是否启用 4.6.21
Note:
  • ZStack Cloud创建三层网络时支持指定端口镜像网络,SystemTags增加mirrorNetwork选项。
    • 选项格式为:mirrorNetwork::{L3NetworkVOUuid}
    • 例如:mirrorNetwork::1c707a63817b4f29b1235fa1f76c0ccc

API返回

返回示例
{
  "inventory": {
    "name": "Test-L3Network",
    "l2NetworkUuid": "d15de5c033f8359b839496eec349b704",
    "category": "Private"
  }
}
名字 类型 描述 起始版本
success boolean 4.6.21
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 三层网络类型 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 三层网络的可用状态 0.6
dnsDomain String DNS域 0.6
system Boolean 是否用于系统云主机 0.6
category String 网络类型,需要与system标签搭配使用,system为false时可设置为Public、Private 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 域名解析服务器 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 起始地址 4.6.21
endIp String 结束地址 4.6.21
netmask String 掩码 4.6.21
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 网络CIDR 4.6.21
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
ipRangeType IpRangeType 详情参考ipRangeType. 4.6.21
#ipRangeType
名字 类型 描述 起始版本
Normal IpRangeType 普通地址段 4.6.21
AddressPool IpRangeType 地址池段 4.6.21
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
CreateL3NetworkAction action = new CreateL3NetworkAction();
action.name = "Test-L3Network";
action.type = "L3BasicNetwork";
action.l2NetworkUuid = "bb059728e72f3ff1b3ae2fc9caba3dce";
action.category = "Private";
action.system = false;
action.enableIPAM = true;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateL3NetworkAction.Result res = action.call();
Python SDK
CreateL3NetworkAction action = CreateL3NetworkAction()
action.name = "Test-L3Network"
action.type = "L3BasicNetwork"
action.l2NetworkUuid = "bb059728e72f3ff1b3ae2fc9caba3dce"
action.category = "Private"
action.system = false
action.enableIPAM = true
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateL3NetworkAction.Result res = action.call()

删除三层网络(DeleteL3Network)

API请求

URLs
DELETE zstack/v1/l3-networks/{uuid}?deleteMode={deleteMode}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 9e78fa4cfc8a49baadb763cd62ac6a3f" \
-X DELETE http://localhost:8080/zstack/v1/l3-networks/76490f9cd26d4c8a9501cc5a5312aa99?deleteMode=Permissive
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
deleteMode (可选) String body 删除模式 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
    "error": {
        "code": "SYS.1001",
        "description": "A message or a operation timeout",
        "details": "Create VM on KVM timeout after 300s"
    }
}

SDK示例

Java SDK
DeleteL3NetworkAction action = new DeleteL3NetworkAction();
action.uuid = "c19ee03770c6486b85abc58ea10f017a";
action.deleteMode = "Permissive";
action.sessionId = "b8b93037f8064e219bdcbe9dd9a9f366";
DeleteL3NetworkAction.Result res = action.call();
Python SDK
DeleteL3NetworkAction action = DeleteL3NetworkAction()
action.uuid = "8c4a39676be64072b20e7b7dc4b0ccc7"
action.deleteMode = "Permissive"
action.sessionId = "e0e4140009fc4b95af7197bffc64f7c0"
DeleteL3NetworkAction.Result res = action.call()

查询三层网络(QueryL3Network)

API请求

URLs
GET zstack/v1/l3-networks
GET zstack/v1/l3-networks/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 98858a4b613f46a4815c34c1c930b34e" \
-X GET http://localhost:8080/zstack/v1/l3-networks
Note:
例如:查询三层私有网络
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 98858a4b613f46a4815c34c1c930b34e" \
-X GET http://localhost:8080/zstack/v1/l3-networks?q=category=Private
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth c1148725103644bc8e2879d72fa47389" \
-X GET http://localhost:8080/zstack/v1/l3-networks/9d119c003bb54d4781443bbc7febcd7f

可查询字段

运行CLI命令行工具,输入QueryL3Network并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "name": "Test-L3Network",
      "l2NetworkUuid": "8bcf5b824378406494d81ffdae56bde3"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#error
名字 类型 描述 起始版本
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
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 三层网络类型 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 三层网络的可用状态 0.6
dnsDomain String DNS域 0.6
system Boolean 是否用于系统云主机 0.6
category String 网络类型,需要与system标签搭配使用,system为true时可设置为Public、Private 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 域名解析服务器 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
QueryL3NetworkAction action = new QueryL3NetworkAction();
action.conditions = asList();
action.sessionId = "58f4bcc9b20f46bfaba379ca0c739535";
QueryL3NetworkAction.Result res = action.call();
Python SDK
QueryL3NetworkAction action = QueryL3NetworkAction()
action.conditions = []
action.sessionId = "2f99e245b0f04712941da401ecab7173"
QueryL3NetworkAction.Result res = action.call()

更新三层网络(UpdateL3Network)

API请求

URLs
PUT zstack/v1/l3-networks/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateL3Network": {
    "name": "Test-L3Network"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateL3Network":{"name":"Test-L3Network"}}' \
http://localhost:8080/zstack/v1/l3-networks/a1a3a4bea5e73628b591081fde9f019a/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
name (可选) String body(包含在updateL3Network结构中) 三层网络的名称 0.6
description (可选) String body(包含在updateL3Network结构中) 三层网络的详细描述 0.6
system (可选) Boolean body(包含在updateL3Network结构中) 是否用于系统云主机 0.6
dnsDomain (可选) String body(包含在updateL3Network结构中) DNS域 2.6.0
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
category (可选) String body(包含在updateL3Network结构中) 网络类型,需要与system标签搭配使用,system为true时可设置为Public、Private
  • Public
  • Private
  • System
2.2

API返回

返回示例
{
  "inventory": {
    "uuid": "dd370da0d6fa49288fc119b35db36b7c",
    "name": "Test-L3Network"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
UpdateL3NetworkAction action = new UpdateL3NetworkAction();
action.uuid = "88d2a1d687974c0ea0e102c276739e39";
action.name = "Test-L3Network";
action.sessionId = "dae0914beced4293bd336fe443ed0d2b";
UpdateL3NetworkAction.Result res = action.call();
Python SDK
UpdateL3NetworkAction action = UpdateL3NetworkAction()
action.uuid = "3210b12187464e35bfdc50d8d4e2d1d0"
action.name = "Test-L3Network"
action.sessionId = "9e0b1d4240ef4421804612b01c98d7b8"
UpdateL3NetworkAction.Result res = action.call()

获取三层网络类型(GetL3NetworkTypes)

API请求

URLs
GET zstack/v1/l3-networks/types
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 3a142b201e9342abbb5864a0ea48992e" \
-X GET http://localhost:8080/zstack/v1/l3-networks/types
参数列表
名字 类型 位置 描述 可选值 起始版本
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
"l3NetworkTypes": [
"L3BasicNetwork"
  ]
}
名字 类型 描述 起始版本
types List 0.6
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
#error
名字 类型 描述 起始版本
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

SDK示例

Java SDK
GetL3NetworkTypesAction action = new GetL3NetworkTypesAction();
action.sessionId = "9105437ebb27461fbae36ecb9336ceba";
GetL3NetworkTypesAction.Result res = action.call();
Python SDK
GetL3NetworkTypesAction action = GetL3NetworkTypesAction()
action.sessionId = "a69bae9c3cad4209b042956b23c70af7"
GetL3NetworkTypesAction.Result res = action.call()

改变三层网络状态(ChangeL3NetworkState)

API请求

URLs
PUT zstack/v1/l3-networks/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
"changeL3NetworkState": {
"stateEvent": "enable"
  },
"systemTags": [],
"userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeL3NetworkState":{"stateEvent":"enable"}}' \
http://localhost:8080/zstack/v1/l3-networks/a8744f1ba60c33f3a2c912c077f41fe5/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
stateEvent String body(包含在changeL3NetworkState结构中) 状态,可选enabledisable
  • enable
  • disable
0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
"inventory": {
"name": "Test-L3Network",
"l2NetworkUuid": "dfae4bce43694f4d9fc0ba5cdf4e38bd"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRange
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
ChangeL3NetworkStateAction action = new ChangeL3NetworkStateAction();
action.uuid = "eb0849bf0e57400da650a09f2e852260";
action.stateEvent = "enable";
action.sessionId = "be8ec965ebd94169ba713c42dc079af9";
ChangeL3NetworkStateAction.Result res = action.call();
Python SDK
ChangeL3NetworkStateAction action = ChangeL3NetworkStateAction()
action.uuid = "d8a1565df89748a2a21ef87b9c9f5be7"
action.stateEvent = "enable"
action.sessionId = "7b8417b9ee3b4df8a21acc8e7c41a7f9"
ChangeL3NetworkStateAction.Result res = action.call()

获取网络DHCP服务所用地址(GetL3NetworkDhcpIpAddress)

API请求

URLs
GET zstack/v1/l3-networks/{l3NetworkUuid}/dhcp-ip
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/82cae6542d3b3e7ea50dab8681f3785c/dhcp-ip
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 0.6
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
"ip": "192.168.100.3"
}
名字 类型 描述 起始版本
ip String IP地址 0.6
ip6 String IPv6地址 3.10.0
success boolean 成功 0.6
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
error
名字 类型 描述 起始版本
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

SDK示例

Java SDK
GetL3NetworkDhcpIpAddressAction action = new GetL3NetworkDhcpIpAddressAction();
action.l3NetworkUuid = "1c311c313859434f8586d4288a31952e";
action.sessionId = "dd1a8993de0e41e18d8718ea2e2d8259";
GetL3NetworkDhcpIpAddressAction.Result res = action.call();
Python SDK
GetL3NetworkDhcpIpAddressAction action = GetL3NetworkDhcpIpAddressAction()
action.l3NetworkUuid = "4970a85c53a24e35a55f44830058e719"
action.sessionId = "50fd78e250d94c5d944a5fa1a5d6bde0"
GetL3NetworkDhcpIpAddressAction.Result res = action.call()

向三层网络添加DNS(AddDnsToL3Network)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/dns
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "dns": "8.8.8.8"
  },
  "systemTags": [],
  "userTags": []
}
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"dns":"8.8.8.8"}}' \
http://localhost:8080/zstack/v1/l3-networks/0b8da8c298ed3960925abbcc4f913da8/dns
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 0.6
dns String url DNS地址 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
  "inventory": {
    "name": "Test-L3Network",
    "l2NetworkUuid": "08f7b0b577a84c28968ddce5a9377c5d",
    "dns": [
      "8.8.8.8"
    ]
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
AddDnsToL3NetworkAction action = new AddDnsToL3NetworkAction();
action.l3NetworkUuid = "80bfafb9c4534a2593fcda534ee6414f";
action.dns = "8.8.8.8";
action.sessionId = "0a24af3791134b81bba960844b3aa899";
AddDnsToL3NetworkAction.Result res = action.call();
Python SDK
AddDnsToL3NetworkAction action = AddDnsToL3NetworkAction()
action.l3NetworkUuid = "17ecd7a47dc34f1ba01df5180480e264"
action.dns = "8.8.8.8"
action.sessionId = "30e00bf1296244cd98c93dec6182ab72"
AddDnsToL3NetworkAction.Result res = action.call()

从三层网络移除DNS(RemoveDnsFromL3Network)

API请求

URLs
DELETE/v1/l3-networks/{l3NetworkUuid}/dns/{dns}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 209fa412351946a6bef267d423f4e53c" \
-X DELETE http://localhost:8080/zstack/v1/l3-networks/d96f7d4c0506435a9a1aa7394976c0b2/dns/8.8.4.4?
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 0.6
dns String url DNS地址 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
"inventory": {
"name": "Test-L3Network",
"l2NetworkUuid": "535aea9c1be24fb9b172fa1955341685",
"dns": []
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
RemoveDnsFromL3NetworkAction action = new RemoveDnsFromL3NetworkAction();
action.l3NetworkUuid = "3e9227b9ecbd42bba0f3a4620f5655d2";
action.dns = "8.8.4.4";
action.sessionId = "f3e42d2a37ed4c42a6ce7d192af94e05";
RemoveDnsFromL3NetworkAction.Result res = action.call();
Python SDK
RemoveDnsFromL3NetworkAction action = RemoveDnsFromL3NetworkAction()
action.l3NetworkUuid = "4046beb7d6164cb3843fb5fac2f86ac3"
action.dns = "8.8.4.4"
action.sessionId = "e9fd57376378422e9b58ada9be59185c"
RemoveDnsFromL3NetworkAction.Result res = action.call()

向三层网络添加主机路由(AddHostRouteToL3Network)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/hostroute
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "prefix": "169.254.169.254/32",
    "nexthop": "192.168.1.254"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"prefix":"169.254.169.254/32","nexthop":"192.168.1.254"}}' \
http://localhost:8080/zstack/v1/l3-networks/45d86c07f10437c6bf3161bae9974bb7/hostroute
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.3
prefix String body(包含在params结构中) 2.3
nexthop String body(包含在params结构中) 2.3
systemTags (可选) List body 2.3
userTags (可选) List body 2.3

API返回

返回示例
{
  "inventory": {
    "name": "Test-L3Network",
    "l2NetworkUuid": "7dfdf976ef1334fba5c3b475104011b2",
    "dns": [
      "8.8.8.8"
    ],
    "hostRoute": [
      {
        "prefix": "169.254.169.254/32",
        "nexthop": "192.168.1.254"
      }
    ]
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3
inventory L3NetworkInventory 详情参考inventory 2.3
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
ipVersion Integer ip协议号 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
AddHostRouteToL3NetworkAction action = new AddHostRouteToL3NetworkAction();
action.l3NetworkUuid = "45d86c07f10437c6bf3161bae9974bb7";
action.prefix = "169.254.169.254/32";
action.nexthop = "192.168.1.254";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddHostRouteToL3NetworkAction.Result res = action.call();
Python SDK
AddHostRouteToL3NetworkAction action = AddHostRouteToL3NetworkAction()
action.l3NetworkUuid = "45d86c07f10437c6bf3161bae9974bb7"
action.prefix = "169.254.169.254/32"
action.nexthop = "192.168.1.254"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddHostRouteToL3NetworkAction.Result res = action.call()

从三层网络移除主机路由(RemoveHostRouteFromL3Network)

API请求

URLs
DELETE zstack/v1/l3-networks/{l3NetworkUuid}/hostroute?prefix={prefix}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/l3-networks/8648a70a245232c5a1bee9ae408419e5/hostroute?prefix=169.254.169.254/32
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.3
prefix String body 2.3
systemTags (可选) List body 2.3
userTags (可选) List body 2.3

API返回

返回示例
{
  "inventory": {
    "name": "Test-L3Network",
    "l2NetworkUuid": "15e1e6a016f43a5688ca3d3445076309",
    "dns": []
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3
inventory L3NetworkInventory 详情参考inventory 2.3
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
type String 0.6
zoneUuid String 区域UUID 0.6
l2NetworkUuid String 二层网络UUID 0.6
state String 0.6
dnsDomain String 0.6
system Boolean 0.6
category String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
dns List 0.6
ipRanges List 详情参考ipRanges 0.6
networkServices List 详情参考networkServices 0.6
hostRoute List 详情参考hostRoute 2.3
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
gateway String 0.6
networkCidr String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 0.6
networkServiceProviderUuid String 网络服务提供模块UUID 0.6
networkServiceType String 0.6
#hostRoute
名字 类型 描述 起始版本
id Long 2.3
l3NetworkUuid String 三层网络UUID 2.3
prefix String 2.3
nexthop String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
RemoveHostRouteFromL3NetworkAction action = new RemoveHostRouteFromL3NetworkAction();
action.l3NetworkUuid = "8648a70a245232c5a1bee9ae408419e5";
action.prefix = "169.254.169.254/32";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveHostRouteFromL3NetworkAction.Result res = action.call();
Python SDK
RemoveHostRouteFromL3NetworkAction action = RemoveHostRouteFromL3NetworkAction()
action.l3NetworkUuid = "8648a70a245232c5a1bee9ae408419e5"
action.prefix = "169.254.169.254/32"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveHostRouteFromL3NetworkAction.Result res = action.call()

获取空闲IP(GetFreeIp)

API请求

URLs
GET zstack/v1/l3-networks/ip/free
GET zstack/v1/l3-networks/{l3NetworkUuid}/ip/free
GET zstack/v1/l3-networks/ip-ranges/{ipRangeUuid}/ip/free
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip/free?l3NetworkUuid=c8cd63a1882331a9a5ee83e5d9b265ec&ipRangeUuid=10fc8508fd723e63bcc57b8bb6d7a133&limit=100.0
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/c8cd63a1882331a9a5ee83e5d9b265ec/ip/free?l3NetworkUuid=c8cd63a1882331a9a5ee83e5d9b265ec&ipRangeUuid=10fc8508fd723e63bcc57b8bb6d7a133&limit=100.0
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip-ranges/10fc8508fd723e63bcc57b8bb6d7a133/ip/free?l3NetworkUuid=c8cd63a1882331a9a5ee83e5d9b265ec&ipRangeUuid=10fc8508fd723e63bcc57b8bb6d7a133&limit=100.0
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid (可选) String query 三层网络UUID
Note: l3NetworkUuid和ipRangeUuid二选一
0.6
ipRangeUuid (可选) String query IP段UUID
Note: l3NetworkUuid和ipRangeUuid二选一
0.6
start (可选) String query 起始值 0.6
ipRangeType (可选) String query 地址类型
  • Normal
  • AddressPool
3.9.0
ipVersion (可选) Integer query IP地址版本号
  • 4
  • 6
3.10.0
limit (可选) int query 数量限制 0.6
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
  "inventories": [
    {
      "ipRangeUuid": "662d600a4b644f98a0c49df2e5430d69",
      "ip": "10.20.10.5",
      "netmask": "255.255.255.0",
      "gateway": "10.20.10.1"
    },
    {
      "ipRangeUuid": "662d600a4b644f98a0c49df2e5430d69",
      "ip": "10.20.10.6",
      "netmask": "255.255.255.0",
      "gateway": "10.20.10.1"
    },
    {
      "ipRangeUuid": "662d600a4b644f98a0c49df2e5430d69",
      "ip": "10.20.10.10",
      "netmask": "255.255.255.0",
      "gateway": "10.20.10.1"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory L3NetworkInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
ipRangeUuid String IP段UUID 0.6
ip String 0.6
netmask String 0.6
gateway String 0.6

SDK示例

Java SDK
GetFreeIpAction action = new GetFreeIpAction();
action.l3NetworkUuid = "c8cd63a1882331a9a5ee83e5d9b265ec";
action.ipRangeUuid = "10fc8508fd723e63bcc57b8bb6d7a133";
action.limit = 100.0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetFreeIpAction.Result res = action.call();
Python SDK
GetFreeIpAction action = GetFreeIpAction()
action.l3NetworkUuid = "c8cd63a1882331a9a5ee83e5d9b265ec"
action.ipRangeUuid = "10fc8508fd723e63bcc57b8bb6d7a133"
action.limit = 100.0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetFreeIpAction.Result res = action.call()

检查IP可用性(CheckIpAvailability)

API请求

URLs
GET zstack/v1/l3-networks/{l3NetworkUuid}/ip/{ip}/availability
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 642bc388bc3040ce9ed0c477bd6b3874" \
-X GET http://localhost:8080/zstack/v1/l3-networks/42ab1436d38245a78a9995e732aa5aad/ip/192.168.10.100/availability?
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 0.6
ip String url IP地址 0.6
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
"available": true
}
名字 类型 描述 起始版本
available boolean 可用 0.6
success boolean 成功 0.6
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
#error
名字 类型 描述 起始版本
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

SDK示例

Java SDK
CheckIpAvailabilityAction action = new CheckIpAvailabilityAction();
action.l3NetworkUuid = "8cb0703274b44a389ffc2f24935235fe";
action.ip = "192.168.10.100";
action.sessionId = "399dfce0d08f460c92a2c2660d80b187";
CheckIpAvailabilityAction.Result res = action.call();
Python SDK
CheckIpAvailabilityAction action = CheckIpAvailabilityAction()
action.l3NetworkUuid = "19ff4c2f7aab415cae3a6abb8512d05d"
action.ip = "192.168.10.100"
action.sessionId = "c872c583479743009ba56a65d2c7dd22"
CheckIpAvailabilityAction.Result res = action.call()

获取IP网络地址容量(GetIpAddressCapacity)

API请求

URLs
GET zstack/v1/ip-capacity
Headers
Authorization: OAuth the-session-uuid s
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/ip-capacity?ipRangeUuids=6bf57331ebe433389c6c230153ac5d8d&all=false
参数列表
名字 类型 位置 描述 起始版本
zoneUuids (可选) List query 区域UUID 0.6
l3NetworkUuids (可选) List query 三层网络UUID 0.6
ipRangeUuids (可选) List query IP地址范围UUID 0.6
all (可选) boolean query 系统全局 0.6
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
  "totalCapacity": 20.0,
  "availableCapacity": 15.0,
  "usedIpAddressNumber": 5.0,
  "ipv4TotalCapacity": 0.0,
  "ipv4AvailableCapacity": 0.0,
  "ipv4UsedIpAddressNumber": 0.0,
  "ipv6TotalCapacity": 0.0,
  "ipv6AvailableCapacity": 0.0,
  "ipv6UsedIpAddressNumber": 0.0,
  "capacityData": [
    {
      "resourceUuid": "68b9a1c74c4c33c7b818e4c14bdea0a7",
      "totalCapacity": 20.0,
      "availableCapacity": 15.0,
      "usedIpAddressNumber": 5.0,
      "ipv4TotalCapacity": 0.0,
      "ipv4AvailableCapacity": 0.0,
      "ipv4UsedIpAddressNumber": 0.0,
      "ipv6TotalCapacity": 0.0,
      "ipv6AvailableCapacity": 0.0,
      "ipv6UsedIpAddressNumber": 0.0
    }
  ],
  "resourceType": "L3NetworkVO"
}
名字 类型 描述 起始版本
totalCapacity long IP地址容量 0.6
availableCapacity long 可用IP地址容量 0.6
usedIpAddressNumber long 已使用IP数量 3.10.0
ipv4TotalCapacity long IPv4地址容量 3.10.0
ipv4AvailableCapacity long 可用IPv4地址容量 3.10.0
ipv4UsedIpAddressNumber long 已使用IPv4数量 3.10.0
ipv6TotalCapacity long IPv6地址容量 3.10.0
ipv6AvailableCapacity long 可用IPv6地址容量 3.10.0
ipv6UsedIpAddressNumber long 已使用IPv6数量 3.10.0
resourceType String 所查询资源的类型(地址范围、三层网络、区域) 3.9.0
success boolean 成功 0.6
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
capacityData List 详情参考capacityData 3.9.0
error ErrorCode 详情参考error 0.6
#error
名字 类型 描述 起始版本
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
#capacityData
名字 类型 描述 起始版本
resourceUuid String 资源UUID 3.9.0
totalCapacity long IP地址总容量 3.9.0
availableCapacity long 可用IP地址容量 3.9.0
usedIpAddressNumber long 已用IP地址容量 3.9.0
ipv4TotalCapacity long IPv4地址总容量 3.10.0
ipv4AvailableCapacity long 可用IPv4地址容量 3.10.0
ipv4UsedIpAddressNumber long 已用IPv4地址容量 3.10.0
ipv6TotalCapacity long IPv6地址总容量 3.10.0
ipv6AvailableCapacity long 可用IPv6地址容量 3.10.0
ipv6UsedIpAddressNumber long 已用IPv6地址容量 3.10.0
#error
名字 类型 描述 起始版本
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

SDK示例

Java SDK
GetIpAddressCapacityAction action = new GetIpAddressCapacityAction();
action.ipRangeUuids = asList("6bf57331ebe433389c6c230153ac5d8d");
action.all = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetIpAddressCapacityAction.Result res = action.call();
Python SDK
GetIpAddressCapacityAction action = GetIpAddressCapacityAction()
action.ipRangeUuids = [6bf57331ebe433389c6c230153ac5d8d]
action.all = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetIpAddressCapacityAction.Result res = action.call()

添加IP地址范围(AddIpRange)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/ip-ranges
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-IP-Range",
    "startIp": "192.168.100.10",
    "endIp": "192.168.100.250",
    "netmask": "255.255.255.0",
    "gateway": "192.168.100.1",
    "ipRangeType": "Normal"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"Test-IP-Range","startIp":"192.168.100.10","endIp":"192.168.100.250","netmask":"255.255.255.0","gateway":"192.168.100.1","ipRangeType":"Normal"}}' http://localhost:8080/zstack/v1/l3-networks/acc0573590db3297814610cab774b60b/ip-ranges
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 0.6
name String body(包含在params结构中) 三层网络的名称 0.6
description (可选) String body(包含在params结构中) 三层网络的详细描述 0.6
startIp String body(包含在params结构中) 起始地址 0.6
endIp String body(包含在params结构中) 结束地址 0.6
netmask String body(包含在params结构中) 网络掩码 0.6
gateway String body(包含在params结构中) 网关 0.6
ipRangeType (可选) String body(包含在params结构中) 地址类型
  • Normal
  • AddressPool
3.9.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID。若指定,三层网络会使用该字段值作为UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
Note:
  • ZStack Cloud添加IP地址范围时支持添加IP地址段的时候指定DHCP server地址功能,SystemTags增加DhcpServer选项。
    • 选项格式为:flatNetwork::DhcpServer::{%s}::ipUuid::{%s}
    • 例如:flatNetwork::DhcpServer::192.168.1.100::ipUuid::null

API返回

返回示例
{
  "inventory": {
    "l3NetworkUuid": "4cbec970df744e258726f71de79e6497",
    "name": "Test-IP-Range",
    "startIp": "192.168.100.10",
    "endIp": "192.168.100.250",
    "netmask": "255.255.255.0",
    "gateway": "192.168.100.1"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory IpRangeInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
ipRangeType IpRangeType 详情参考ipRangeType 3.9.0
#ipRangeType
名字 类型 描述 起始版本
Normal IpRangeType 3.9.0
AddressPool IpRangeType 3.9.0

SDK示例

Java SDK
AddIpRangeAction action = new AddIpRangeAction();
action.l3NetworkUuid = "acc0573590db3297814610cab774b60b";
action.name = "Test-IP-Range";
action.startIp = "192.168.100.10";
action.endIp = "192.168.100.250";
action.netmask = "255.255.255.0";
action.gateway = "192.168.100.1";
action.ipRangeType = "Normal";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddIpRangeAction.Result res = action.call();
Python SDK
AddIpRangeAction action = AddIpRangeAction()
action.l3NetworkUuid = "acc0573590db3297814610cab774b60b"
action.name = "Test-IP-Range"
action.startIp = "192.168.100.10"
action.endIp = "192.168.100.250"
action.netmask = "255.255.255.0"
action.gateway = "192.168.100.1"
action.ipRangeType = "Normal"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddIpRangeAction.Result res = action.call()

删除IP地址范围(DeleteIpRange)

API请求

URLs
DELETE/v1/l3-networks/ip-ranges/{uuid}?deleteMode={deleteMode}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 1872261fb9824d9f9dd73a991cf05a44" \
-X DELETE http://localhost:8080/zstack/v1/l3-networks/ip-ranges/a2a9f85d22914afe95a195b63143830d?deleteMode=Permissive
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url IP地址范围的UUID 0.6
deleteMode (可选) String body 删除模式 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
    }
}

SDK示例

Java SDK
DeleteIpRangeAction action = new DeleteIpRangeAction();
action.uuid = "6d1f44d0fe1440189eb293f18d7bf682";
action.deleteMode = "Permissive";
action.sessionId = "4a3745cb42f5430f874c6f6c4b298e95";
DeleteIpRangeAction.Result res = action.call();
Python SDK
DeleteIpRangeAction action = DeleteIpRangeAction()
action.uuid = "0f1fcf2e779543baa416deb89eeeb2db"
action.deleteMode = "Permissive"
action.sessionId = "d07fb42a181d43dda2b6992536b02804"
DeleteIpRangeAction.Result res = action.call()

查询IP地址范围(QueryIpRange)

API请求

URLs
GET zstack/v1/l3-networks/ip-ranges
GET /v1/l3-networks/ip-ranges/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 8f7b1e0396c54646a4b37affdfdda079" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip-ranges?q=uuid=887227aa5d5c49e2a8137b79dad3738a
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 60a5dfda1a9843809415eb28f2550f94" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip-ranges/17684784fcc04571a47eb24dc2eb9638

可查询字段

运行CLI命令行工具,输入QueryIpRange并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
"inventories": [
    {
"l3NetworkUuid": "9a72daf0034443aa81864e593f0f5b32",
"name": "Test-IPRange",
"networkCidr": "192.168.10.0/24"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#error
名字 类型 描述 起始版本
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
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
QueryIpRangeAction action = new QueryIpRangeAction();
action.conditions = asList("uuid=d5764d7ab9174e5486e55ba805d28675");
action.sessionId = "5357e54aa55a4846ac96972776d3100f";
QueryIpRangeAction.Result res = action.call();
Python SDK
QueryIpRangeAction action = QueryIpRangeAction()
action.conditions = ["uuid=2cda79a574344eeb9f38393253ddf858"]
action.sessionId = "c87d6755153549f6a4e7373b601ac99f"
QueryIpRangeAction.Result res = action.call()

更新IP地址范围(UpdateIpRange)

API请求

URLs

PUT zstack/v1/l3-networks/ip-ranges/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
"updateIpRange": {},
"systemTags": [],
"userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateIpRange":{}}' \
http://localhost:8080/zstack/v1/l3-networks/ip-ranges/0ebb3eb1c1e134bea93c2f9ed2e2beef/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
name (可选) String body(包含在updateIpRange结构中) 三层网络的名称 0.6
description (可选) String body(包含在updateIpRange结构中) 三层网络的详细描述 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
"inventory": {
"l3NetworkUuid": "f7f0ee7b4978413fa36c811e47dd56a3",
"name": "Test-IPRange",
"networkCidr": "192.168.10.0/24"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory IpRangeInventory 详情参考inventory 0.6
#error
类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
UpdateIpRangeAction action = new UpdateIpRangeAction();
action.uuid = "97054a54a1fc4b49ba3d7a5d44b9e385";
action.sessionId = "8644fd2755f148359edff9521b27868b";
UpdateIpRangeAction.Result res = action.call();
Python SDK
UpdateIpRangeAction action = UpdateIpRangeAction()
action.uuid = "2b4499297735445482dc994113574b41"
action.sessionId = "0a16c9ea3e6e4ad9b1ff71a826b67277"
UpdateIpRangeAction.Result res = action.call()

通过网络CIDR添加IP地址范围(AddIpRangeByNetworkCidr)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/ip-ranges/by-cidr
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-IPRange",
    "networkCidr": "192.168.10.0/24",
    "ipRangeType": "Normal"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"Test-IPRange","networkCidr":"192.168.10.0/24","ipRangeType":"Normal"}}' http://localhost:8080/zstack/v1/l3-networks/c186887bc5e43da7ba42bd5d66eba0cd/ip-ranges/by-cidr
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 三层网络的名称 0.6
description (可选) String body(包含在params结构中) 三层网络的详细描述 0.6
l3NetworkUuid String url 三层网络UUID 0.6
networkCidr String body(包含在params结构中) 网络CIDR 0.6
gateway (可选) String body(包含在params结构中) 网关 3.7.0
ipRangeType (可选) String body(包含在params结构中) 地址类型
  • Normal
  • AddressPool
3.9.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID。若指定,三层网络会使用该字段值作为UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
Note:
  • ZStack Cloud通过网络CIDR添加IP地址范围时支持添加IP地址段的时候指定DHCP server地址功能,SystemTags增加affinityGroup选项。
    • 选项格式为:flatNetwork::DhcpServer::{%s}::ipUuid::{%s}
    • 例如:flatNetwork::DhcpServer::192.168.1.100::ipUuid::null

API返回

返回示例
{
"inventory": {
"l3NetworkUuid": "4e0926c4fa27455f88c7d94420bf3422",
"name": "Test-IPRange",
"networkCidr": "192.168.10.0/24"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory IpRangeInventory 详情参考inventory 0.6
#error
名字 类型 描述 起始版本
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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
l3NetworkUuid String 三层网络UUID 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
startIp String 0.6
endIp String 0.6
netmask String 0.6
prefixLen String 掩码长度 3.1.0
gateway String 0.6
networkCidr String 0.6
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
ipRangeType IpRangeType 详情参考ipRangeType 3.9.0
#ipRangeType
名字 类型 描述 起始版本
Normal IpRangeType 3.9.0
AddressPool IpRangeType 3.9.0

SDK示例

Java SDK
AddIpRangeByNetworkCidrAction action = new AddIpRangeByNetworkCidrAction();
action.name = "Test-IPRange";
action.l3NetworkUuid = "c186887bc5e43da7ba42bd5d66eba0cd";
action.networkCidr = "192.168.10.0/24";
action.ipRangeType = "Normal";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddIpRangeByNetworkCidrAction.Result res = action.call();
Python SDK
AddIpRangeByNetworkCidrAction action = AddIpRangeByNetworkCidrAction()
action.name = "Test-IPRange"
action.l3NetworkUuid = "c186887bc5e43da7ba42bd5d66eba0cd"
action.networkCidr = "192.168.10.0/24"
action.ipRangeType = "Normal"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddIpRangeByNetworkCidrAction.Result res = action.call()

获取三层网络Mtu值(GetL3NetworkMtu)

API请求

URLs
GET zstack/v1/l3-networks/{l3NetworkUuid}/mtu
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth dc112a530fd2402cae6b4962f65eae4e" \
-X GET http://localhost:8080/zstack/v1/l3-networks/be54f79eb90f4f929da7fe64e1aea8e4/mtu
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.1
systemTags (可选) List query 2.1
userTags (可选) List query 2.1

API返回

返回示例
{
  "mtu": 9216.0
}
名字 类型 描述 起始版本
mtu Integer 2.1
success boolean 2.1
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.1
error ErrorCode 详情参考error 2.1
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.1
description String 错误的概要描述 2.1
details String 错误的详细信息 2.1
elaboration String 保留字段,默认为null 2.1
opaque LinkedHashMap 保留字段,默认为null 2.1
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.1
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.1
description String 错误的概要描述 2.1
details String 错误的详细信息 2.1
elaboration String 保留字段,默认为null 2.1
opaque LinkedHashMap 保留字段,默认为null 2.1
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.1

SDK示例

Java SDK
GetL3NetworkMtuAction action = new GetL3NetworkMtuAction();
action.l3NetworkUuid = "fd8d572d777d4383b201ddfce629d50e";
action.sessionId = "0cc5202de3ce4881a305e5fa1d431aaa";
GetL3NetworkMtuAction.Result res = action.call();
Python SDK
GetL3NetworkMtuAction action = GetL3NetworkMtuAction()
action.l3NetworkUuid = "7615cfd154a048dcab07a1114ee6205d"
action.sessionId = "d0f3cf05a49345438a92108d2fd86cfe"
GetL3NetworkMtuAction.Result res = action.call()

设置三层网络Mtu值(SetL3NetworkMtu)

API请求

URLs

POST zstack/v1/l3-networks/{l3NetworkUuid}/mtu
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "mtu": 9216.0
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"mtu":9216.0}}' \
http://localhost:8080/zstack/v1/l3-networks/817672c1bb903264a9a41c34332c3145/mtu
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.1
mtu Integer body(包含在params结构中) 2.1
systemTags (可选) List body 2.1
userTags (可选) List body 2.1

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK示例

Java SDK
SetL3NetworkMtuAction action = new SetL3NetworkMtuAction();
action.l3NetworkUuid = "b19ce058b0f54c6d83c14078c0079c2c";
action.mtu = 9216.0;
action.sessionId = "b441c616886c4183a51ba044e35c7d66";
SetL3NetworkMtuAction.Result res = action.call();
Python SDK
SetL3NetworkMtuAction action = SetL3NetworkMtuAction()
action.l3NetworkUuid = "67dc01887dfc4142aabe4221675c1b98"
action.mtu = 9216.0
action.sessionId = "d5188e0801994e3a9dfb3d3ebc2f7a39"
SetL3NetworkMtuAction.Result res = action.call()

获取三层网络上路由器的接口地址(GetL3NetworkRouterInterfaceIp)

API请求

URLs
GET zstack/v1/l3-networks/{l3NetworkUuid}/router-interface-ip
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/71aa55703e063d9db0f13fa0b285a82b/router-interface-ip
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.2
systemTags (可选) List query 2.2
userTags (可选) List query 2.2

API返回

返回示例
{
  "routerInterfaceIp": "192.168.0.2"
}
名字 类型 描述 起始版本
routerInterfaceIp String 三层网络上路由器的接口地址,仅当会在普通三层网络上创建VPC路由器或在VPC网络上加载VPC路由器时有效 2.2
success boolean 2.2
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.2
#error
名字 类型 描述 起始版本
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

SDK示例

Java SDK
GetL3NetworkRouterInterfaceIpAction action = new GetL3NetworkRouterInterfaceIpAction();
action.l3NetworkUuid = "23453c09a0f534d5bb10a3267c09aac8";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetL3NetworkRouterInterfaceIpAction.Result res = action.call();
Python SDK
GetL3NetworkRouterInterfaceIpAction action = GetL3NetworkRouterInterfaceIpAction()
action.l3NetworkUuid = "5cece4a676083f6fa3491a068e3e34e6"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetL3NetworkRouterInterfaceIpAction.Result res = action.call()

设置三层网络路由器接口IP(SetL3NetworkRouterInterfaceIp)

设置三层网络上路由器接口地址,仅当会在普通三层网络上创建VPC路由器或在VPC网络上加载VPC路由器时有效。

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/router-interface-ip
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "routerInterfaceIp": "192.168.10.2"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"routerInterfaceIp":"192.168.10.2"}}' \
http://localhost:8080/zstack/v1/l3-networks/40124528890f368c8752825634144fd5/router-interface-ip
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 2.1
routerInterfaceIp String body(包含在params结构中) 2.1
systemTags (可选) List body 2.1
userTags (可选) List body 2.1

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK示例

Java SDK
SetL3NetworkRouterInterfaceIpAction action = new SetL3NetworkRouterInterfaceIpAction();
action.l3NetworkUuid = "00ab12382f544de0ac71b48afe7ecd9c";
action.routerInterfaceIp = "192.168.10.2";
action.sessionId = "279a26540d254f42b7a2320652e6c64b";
SetL3NetworkRouterInterfaceIpAction.Result res = action.call();
Python SDK
SetL3NetworkRouterInterfaceIpAction action = SetL3NetworkRouterInterfaceIpAction()
action.l3NetworkUuid = "3558f265c4204eae93104e3ffa974661"
action.routerInterfaceIp = "192.168.10.2"
action.sessionId = "97c0fdecc551496d86b8861f045df21a"
SetL3NetworkRouterInterfaceIpAction.Result res = action.call()

添加IPv6地址范围(AddIpv6Range)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/ipv6-ranges
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-IP-Range",
    "startIp": "2002:2001::02",
    "endIp": "2002:2001::FE",
    "gateway": "2002:2001::01",
    "prefixLen": 64,
    "addressMode": "Stateful-DHCP"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"Test-IP-Range","startIp":"2002:2001::02","endIp":"2002:2001::FE","gateway":"2002:2001::01","prefixLen":64.0,"addressMode":"Stateful-DHCP"}}' http://localhost:8080/zstack/v1/l3-networks/b6f82aa00c3f37adba4b349eb427db80/ipv6-ranges
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 3.1.0
name String body(包含在params结构中) 三层网络的名称 3.1.0
description (可选) String body(包含在params结构中) 三层网络的详细描述 3.1.0
startIp String body(包含在params结构中) 起始地址 3.1.0
endIp String body(包含在params结构中) 结束地址 3.1.0
gateway String body(包含在params结构中) 网关 3.1.0
prefixLen Integer body(包含在params结构中) 前缀长度 3.1.0
addressMode String body(包含在params结构中) IPv6地址分配模式
  • SLAAC
  • Stateful-DHCP
  • Stateless-DHCP
3.1.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID。若指定,三层网络会使用该字段值作为UUID 3.1.0
systemTags (可选) List body 系统标签 3.1.0
userTags (可选) List body 用户标签 3.1.0
Note:
  • ZStack Cloud添加IPv6地址范围时支持指定DHCP server地址功能,SystemTags增加affinityGroup选项。
    • 选项格式为:flatNetwork::DhcpServer::{%s}::ipUuid::{%s}
    • 例如:flatNetwork::DhcpServer::192.168.1.100::ipUuid::null

API返回

返回示例
{
  "inventory": {
    "l3NetworkUuid": "10d6128c8f473a63889597becc396bba",
    "name": "Test-IP-Range",
    "startIp": "2002:2001::02",
    "endIp": "2002:2001::FE",
    "netmask": "FFFF:FFFF:FFFF:FFFF:0:0:0:0",
	"prefixLen": "64"
    "gateway": "2002:2001::01"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory IpRangeInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
l3NetworkUuid String 三层网络UUID 3.1.0
name String 资源名称 3.1.0
description String 资源的详细描述 3.1.0
startIp String 3.1.0
endIp String 3.1.0
netmask String 3.1.0
prefixLen String 掩码长度 3.1.0
gateway String 3.1.0
networkCidr String 3.1.0
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
AddIpv6RangeAction action = new AddIpv6RangeAction();
action.l3NetworkUuid = "b6f82aa00c3f37adba4b349eb427db80";
action.name = "Test-IP-Range";
action.startIp = "2002:2001::02";
action.endIp = "2002:2001::FE";
action.gateway = "2002:2001::01";
action.prefixLen = 64;
action.addressMode = "Stateful-DHCP";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddIpv6RangeAction.Result res = action.call();
Python SDK
AddIpv6RangeAction action = AddIpv6RangeAction()
action.l3NetworkUuid = "b6f82aa00c3f37adba4b349eb427db80"
action.name = "Test-IP-Range"
action.startIp = "2002:2001::02"
action.endIp = "2002:2001::FE"
action.gateway = "2002:2001::01"
action.prefixLen = 64
action.addressMode = "Stateful-DHCP"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddIpv6RangeAction.Result res = action.call()

通过网络CIDR添加IPv6地址范围(AddIpv6RangeByNetworkCidr)

API请求

URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/ipv6-ranges/by-cidr
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-IPRange",
    "networkCidr": "2002:2001::/64",
    "addressMode": "SLAAC"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"Test-IPRange","networkCidr":"2002:2001::/64","addressMode":"SLAAC"}}' http://localhost:8080/zstack/v1/l3-networks/92850b5a66633e2aa8c3a8ae6ebb541d/ipv6-ranges/by-cidr
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 三层网络的名称 3.1.0
description (可选) String body(包含在params结构中) 三层网络的详细描述 3.1.0
l3NetworkUuid String url 三层网络UUID 3.1.0
networkCidr String body(包含在params结构中) 网络CIDR 3.1.0
addressMode String body(包含在params结构中) IPv6地址分配模式
  • SLAAC
  • Stateful-DHCP
  • Stateless-DHCP
3.1.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID。若指定,三层网络会使用该字段值作为UUID 3.1.0
systemTags (可选) List body 系统标签 3.1.0
userTags (可选) List body 用户标签 3.1.0
Note:
  • ZStack Cloud通过网络CIDR添加IPv6地址范围时支持指定DHCP server地址功能,SystemTags增加affinityGroup选项。
    • 选项格式为:flatNetwork::DhcpServer::{%s}::ipUuid::{%s}
    • 例如:flatNetwork::DhcpServer::192.168.1.100::ipUuid::null

API返回

返回示例
{
  "inventory": {
    "l3NetworkUuid": "6735b2c2bc0c345892b7d66b1616d909",
    "name": "Test-IPRange",
    "networkCidr": "2002:2001::/64"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory IpRangeInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
l3NetworkUuid String 三层网络UUID 3.1.0
name String 资源名称 3.1.0
description String 资源的详细描述 3.1.0
startIp String 3.1.0
endIp String 3.1.0
netmask String 3.1.0
prefixLen String 掩码长度 3.1.0
gateway String 3.1.0
networkCidr String 3.1.0
ipVersion Integer ip协议号 3.1.0
addressMode String IPv6地址分配模式 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
AddIpv6RangeByNetworkCidrAction action = new AddIpv6RangeByNetworkCidrAction();
action.name = "Test-IPRange";
action.l3NetworkUuid = "92850b5a66633e2aa8c3a8ae6ebb541d";
action.networkCidr = "2002:2001::/64";
action.addressMode = "SLAAC";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddIpv6RangeByNetworkCidrAction.Result res = action.call();
Python SDK
AddIpv6RangeByNetworkCidrAction action = AddIpv6RangeByNetworkCidrAction()
action.name = "Test-IPRange"
action.l3NetworkUuid = "92850b5a66633e2aa8c3a8ae6ebb541d"
action.networkCidr = "2002:2001::/64"
action.addressMode = "SLAAC"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddIpv6RangeByNetworkCidrAction.Result res = action.call()

查询IP地址(QueryIpAddress)

API请求

URLs
GET zstack/v1/l3-networks/ip-address
GET zstack/v1/l3-networks/ip-address{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip-address
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/ip-address/87b2ab50f6c13ebb9dd73ca46bb22bc7

可查询字段

运行CLI命令行工具,输入QueryIpAddress并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "3ccfbfd6bd483a5eaeabed00b284f4fc",
      "ipRangeUuid": "1b3a29978ea73f0db4ce8d8c2d0bd479",
      "l3NetworkUuid": "c11b366475f836078e5aa86469de2eef",
      "ipVersion": 4.0,
      "ip": "192.168.1.100",
      "netmask": "255.255.255.0",
      "gateway": "192.168.1.1",
      "ipInLong": 0.0,
      "vmNicUuid": "28e22f67b2893b208547333dfef7cfa8"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考errot 3.1.0
inventories List 详情参考inventories 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
ipRangeUuid String IP段UUID 3.1.0
l3NetworkUuid String 三层网络UUID 3.1.0
ipVersion Integer IP协议号 3.1.0
ip String IP地址 3.1.0
netmask String 网络掩码 3.1.0
gateway String 网关地址 3.1.0
usedFor String 3.1.0
ipInLong long 3.1.0
vmNicUuid String 云主机网卡UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
QueryIpAddressAction action = new QueryIpAddressAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryIpAddressAction.Result res = action.call();
Python SDK
QueryIpAddressAction action = QueryIpAddressAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryIpAddressAction.Result res = action.call()

获取三层网络IP地址使用情况统计(GetL3NetworkIpStatistic)

API请求

URLs
GET zstack/v1/l3-networks/{l3NetworkUuid}/ip-statistic
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/9bdd769f3e603f65bd368512ebe8b998/ip-statistic?resourceType=All&sortBy=Ip&sortDirection=asc&start=0.0&limit=20.0&replyWithCount=false
参数列表
名字 类型 位置 描述 可选值 起始版本
l3NetworkUuid String url 三层网络UUID 3.7.0
resourceType (可选) String query 统计资源类型
  • All
  • Vip
  • VM
3.7.0
ip (可选) String query 指定IP地址 3.7.0
sortBy (可选) String query 排序方式
  • Ip
  • CreateDate
3.7.0
sortDirection (可选) String query 排序方向
  • asc
  • desc
3.7.0
start (可选) Integer query 统计结果起始位置 3.7.0
limit (可选) Integer query 统计结果数量 3.7.0
replyWithCount (可选) boolean query 同时返回统计结果总数 3.7.0
systemTags (可选) List query 系统标签 3.7.0
userTags (可选) List query 用户标签 3.7.0

API返回

返回示例
{
  "ipStatistics": [
    {
      "ip": "192.168.0.1",
      "resourceTypes": [
        "Other"
      ]
    }
  ],
  "total": 1.0
}
名字 类型 描述 起始版本
total Long IP统计结果总数 3.7.0
success boolean 成功 3.7.0
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.7.0
ipStatistics List 详情参考ipStatistics 3.7.0
error ErrorCode 详情参考error 3.7.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.7.0
description String 错误的概要描述 3.7.0
details String 错误的详细信息 3.7.0
elaboration String 保留字段,默认为null 3.7.0
opaque LinkedHashMap 保留字段,默认为null 3.7.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.7.0
#ipStatistics
名字 类型 描述 起始版本
ip String IP地址 3.7.0
vipUuid String 虚拟IP的UUID 3.7.0
vipName String 虚拟IP名字 3.7.0
vmInstanceUuid String 虚拟机实例UUID 3.7.0
vmInstanceName String 虚拟机实例名字 3.7.0
vmInstanceType String 虚拟机实例类型 3.7.0
vmDefaultIp String 虚拟机实例默认IP 3.7.0
resourceTypes List 绑定到IP地址的资源类型列表 3.7.0
state String 资源状态 3.7.0
useFor String 虚拟IP绑定的网络服务 3.7.0
createDate Timestamp 创建时间 3.7.0
ownerName String 资源所有者名字 3.7.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.7.0
description String 错误的概要描述 3.7.0
details String 错误的详细信息 3.7.0
elaboration String 保留字段,默认为null 3.7.0
opaque LinkedHashMap 保留字段,默认为null 3.7.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.7.0

SDK示例

Java SDK
GetL3NetworkIpStatisticAction action = new GetL3NetworkIpStatisticAction();
action.l3NetworkUuid = "9bdd769f3e603f65bd368512ebe8b998";
action.resourceType = "All";
action.sortBy = "Ip";
action.sortDirection = "asc";
action.start = 0.0;
action.limit = 20.0;
action.replyWithCount = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetL3NetworkIpStatisticAction.Result res = action.call();
Python SDK
GetL3NetworkIpStatisticAction action = GetL3NetworkIpStatisticAction()
action.l3NetworkUuid = "9bdd769f3e603f65bd368512ebe8b998"
action.resourceType = "All"
action.sortBy = "Ip"
action.sortDirection = "asc"
action.start = 0.0
action.limit = 20.0
action.replyWithCount = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetL3NetworkIpStatisticAction.Result res = action.call()

查询IP地址池(QueryAddressPool)

API请求

URLs
GET zstack/v1/l3-networks/address-pools
GET zstack/v1/l3-networks/address-pools/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/address-pools?q=uuid=a73cf6bc10a0390bb5e461d9f5e3fd6d
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/l3-networks/address-pools/f45cb0f9098336a39662b7553f42deb5

可查询字段

运行CLI命令行工具,输入QueryAddressPool并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "l3NetworkUuid": "81ce7828f3f63c0ea8a69dd9139bdaa0",
      "name": "Test-IPRange",
      "networkCidr": "192.168.10.0/24",
      "ipRangeType": "AddressPool"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventories List 详情参考inventories 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
l3NetworkUuid String 三层网络UUID 3.9.0
name String 资源名称 3.9.0
description String 资源的详细描述 3.9.0
startIp String 起始IP 3.9.0
endIp String 结束IP 3.9.0
netmask String 掩码 3.9.0
gateway String 网关 3.9.0
networkCidr String 网络CIDR 3.9.0
ipVersion Integer ip协议号 3.9.0
addressMode String IPv6地址分配模式 3.9.0
prefixLen Integer 掩码长度 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
ipRangeType IpRangeType 详情参考ipRangeType 3.9.0
#ipRangeType
名字 类型 描述 起始版本
Normal IpRangeType 普通地址段 3.9.0
AddressPool IpRangeType 地址池段 3.9.0

SDK示例

Java SDK
QueryAddressPoolAction action = new QueryAddressPoolAction();
action.conditions = asList("uuid=4cbab87c862032f1a161bebe7e1f55a1");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryAddressPoolAction.Result res = action.call();
Python SDK
QueryAddressPoolAction action = QueryAddressPoolAction()
action.conditions = ["uuid=455d45fad9893eba9565de38588c7416"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryAddressPoolAction.Result res = action.call()
开发手册 | 4.8.38 | ZStack Cloud · ZCF | ZStack 资源中心