调度域相关接口
管理调度域、资源规则、生效场景及关联虚拟机。
创建调度域(CreateAllocatorDomain)
创建调度域。
API请求
URLs
POST zstack/v1/allocator-domains
Headers
Authorization: OAuth the-session-uuid
Body
{
"params": {
"name": "domain-1",
"description": "example allocator domain",
"zoneUuid": "ff0c268342c535aabf273d41a2be1d00",
"rules": [
{
"resourceUuid": "ff0192fa70113da886101145c084bd00",
"resourceType": "HostVO",
"effect": "Include"
}
],
"scenes": [
"NewCreate",
"Start",
"Migrate",
"Ha",
"HostMaintenance",
"Drs"
]
},
"systemTags": [],
"userTags": []
}
Note: 上述示例中
systemTags、userTags字段可以省略。列出是为了表示 body 中可以包含这两个字段。Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X POST -d '{"params":{"name":"domain-1","description":"example allocator domain","zoneUuid":"ff0c268342c535aabf273d41a2be1d00","rules":[{"resourceUuid":"ff0192fa70113da886101145c084bd00","resourceType":"HostVO","effect":"Include"}],"scenes":["NewCreate","Start","Migrate","Ha","HostMaintenance","Drs"]}}' http://localhost:8080/zstack/v1/allocator-domains
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| name | String | body(包含在params结构中) |
资源名称 | 5.2.0 | |
| description (可选) | String | body(包含在params结构中) |
资源的详细描述 | 5.2.0 | |
| zoneUuid | String | body(包含在params结构中) |
数据中心UUID。域内规则引用的资源必须属于该数据中心 | 5.2.0 | |
| rules (可选) | List | body(包含在params结构中) |
有序规则列表,顺序即求值顺序(自上而下、后写覆盖)。Host/Cluster、数据存储、L3 分链求值;链上有 Include 则为白名单,否则为黑名单。例外规则放在更宽规则后面。落库时列表下标写入 priority,从 0 开始 | 5.2.0 | |
| scenes (可选) | List | body(包含在params结构中) |
规则生效场景。行存在即启用 |
|
5.2.0 |
| resourceUuid (可选) | String | body(包含在params结构中) |
资源UUID | 5.2.0 | |
| tagUuids (可选) | List | body(包含在params结构中) |
标签UUID列表 | 5.2.0 | |
| systemTags (可选) | List | body | 系统标签 | 5.2.0 | |
| userTags (可选) | List | body | 用户标签 | 5.2.0 |
API返回
返回示例
{
"inventory": {
"uuid": "ff0b7658d3cd30e390a6d8799a78fa00",
"name": "domain-1",
"description": "example allocator domain",
"zoneUuid": "ff0c268342c535aabf273d41a2be1d00",
"state": "Enabled",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM",
"rules": [],
"scenes": []
}
}
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 5.2.0 |
| error | ErrorCode | 详情参考error | 5.2.0 |
| inventory | AllocatorDomainInventory | 详情参考inventory | 5.2.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 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.2.0 |
| name | String | 资源名称 | 5.2.0 |
| description | String | 资源的详细描述 | 5.2.0 |
| zoneUuid | String | 数据中心UUID | 5.2.0 |
| state | String | Enabled / Disabled。Disabled 时已关联虚拟机本次不约束 | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.2.0 |
| rules | List | 详情参考rules | 5.2.0 |
| scenes | List | 详情参考scenes | 5.2.0 |
#rules
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| id | Long | 自增主键 | 5.2.0 |
| domainUuid | String | 所属调度域UUID | 5.2.0 |
| priority | Integer | 求值顺序,从 0 开始。Create/Update 时按 API rules 列表下标赋值 | 5.2.0 |
| resourceUuid | String | 规则指向的资源UUID | 5.2.0 |
| resourceType | String | 资源类型:HostVO / ClusterVO / PrimaryStorageVO / L3NetworkVO | 5.2.0 |
| resourceQualifier | String | 与 resourceType 搭配。PrimaryStorageVO 时为 Root / Data / 空(全部硬盘) | 5.2.0 |
| resourcePolicy | String | 预留字段,当前为 null | 5.2.0 |
| effect | String | Include / Exclude / Recommend / NotRecommend | 5.2.0 |
| policyFrom | String | 规则来源类型,一般 null 表示 default | 5.2.0 |
| policyUuid | String | 规则来源UUID,一般 null | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
#scenes
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| id | Long | 自增主键 | 5.2.0 |
| domainUuid | String | 所属调度域UUID | 5.2.0 |
| scene | String | NewCreate / Start / Migrate / Ha / HostMaintenance / Drs。行存在即启用 | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
SDK示例
Java SDK
CreateAllocatorDomainAction action = new CreateAllocatorDomainAction();
action.name = "domain-1";
action.description = "example allocator domain";
action.zoneUuid = "ff0c268342c535aabf273d41a2be1d00";
action.rules = asList([resourceUuid:ff0192fa70113da886101145c084bd00, resourceType:HostVO, effect:Include]);
action.scenes = asList("NewCreate","Start","Migrate","Ha","HostMaintenance","Drs");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateAllocatorDomainAction.Result res = action.call();
Python SDK
action = CreateAllocatorDomainAction()
action.name = "domain-1"
action.description = "example allocator domain"
action.zoneUuid = "ff0c268342c535aabf273d41a2be1d00"
action.rules = [{"resourceUuid": "ff0192fa70113da886101145c084bd00", "resourceType": "HostVO", "effect": "Include"}]
action.scenes = ["NewCreate", "Start", "Migrate", "Ha", "HostMaintenance", "Drs"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
删除调度域(DeleteAllocatorDomain)
删除调度域。仍有虚拟机的配置值或当前值引用该域时,删除失败。
API请求
URLs
DELETE zstack/v1/allocator-domains/{uuid}
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/allocator-domains/ff0b7658d3cd30e390a6d8799a78fa00?deleteMode=Permissive
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 5.2.0 | |
| deleteMode (可选) | String | query | 删除模式(Permissive / Enforcing,Permissive) | 5.2.0 | |
| systemTags (可选) | List | query | 系统标签 | 5.2.0 | |
| userTags (可选) | List | query | 用户标签 | 5.2.0 |
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
DeleteAllocatorDomainAction action = new DeleteAllocatorDomainAction();
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteAllocatorDomainAction.Result res = action.call();
Python SDK
action = DeleteAllocatorDomainAction()
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
更新调度域(UpdateAllocatorDomain)
更新调度域。指定 rules 或 scenes 时,将整体替换对应的规则或场景列表。不支持修改 zoneUuid。
API请求
URLs
PUT zstack/v1/allocator-domains/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
"updateAllocatorDomain": {
"name": "domain-1",
"state": "Enabled"
},
"systemTags": [],
"userTags": []
}
Note: 上述示例中
systemTags、userTags字段可以省略。列出是为了表示 body 中可以包含这两个字段。Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"updateAllocatorDomain":{"name":"domain-1","state":"Enabled"}}' http://localhost:8080/zstack/v1/allocator-domains/ff0b7658d3cd30e390a6d8799a78fa00/actions
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 5.2.0 | |
| name (可选) | String | body(包含在updateAllocatorDomain结构中) |
资源名称 | 5.2.0 | |
| description (可选) | String | body(包含在updateAllocatorDomain结构中) |
资源的详细描述 | 5.2.0 | |
| state (可选) | String | body(包含在updateAllocatorDomain结构中) |
Enabled 时对已关联虚拟机应用规则;Disabled 时本次不约束 |
|
5.2.0 |
| rules (可选) | List | body(包含在updateAllocatorDomain结构中) |
有序规则列表,顺序即求值顺序。设置该字段时整表重写,列表下标写入 priority,从 0 开始 | 5.2.0 | |
| scenes (可选) | List | body(包含在updateAllocatorDomain结构中) |
规则生效场景。设置该字段时整表重写 |
|
5.2.0 |
| systemTags (可选) | List | body | 系统标签 | 5.2.0 | |
| userTags (可选) | List | body | 用户标签 | 5.2.0 |
API返回
返回示例
{
"inventory": {
"uuid": "ff0b7658d3cd30e390a6d8799a78fa00",
"name": "domain-1",
"description": "example allocator domain",
"zoneUuid": "ff0c268342c535aabf273d41a2be1d00",
"state": "Enabled",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM",
"rules": [],
"scenes": []
}
}
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 5.2.0 |
| error | ErrorCode | 详情参考error | 5.2.0 |
| inventory | AllocatorDomainInventory | 详情参考inventory | 5.2.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 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.2.0 |
| name | String | 资源名称 | 5.2.0 |
| description | String | 资源的详细描述 | 5.2.0 |
| zoneUuid | String | 数据中心UUID | 5.2.0 |
| state | String | Enabled / Disabled。Disabled 时已关联虚拟机本次不约束 | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.2.0 |
| rules | List | 详情参考rules | 5.2.0 |
| scenes | List | 详情参考scenes | 5.2.0 |
#rules
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| id | Long | 自增主键 | 5.2.0 |
| domainUuid | String | 所属调度域UUID | 5.2.0 |
| priority | Integer | 求值顺序,从 0 开始。Create/Update 时按 API rules 列表下标赋值 | 5.2.0 |
| resourceUuid | String | 规则指向的资源UUID | 5.2.0 |
| resourceType | String | 资源类型:HostVO / ClusterVO / PrimaryStorageVO / L3NetworkVO | 5.2.0 |
| resourceQualifier | String | 与 resourceType 搭配。PrimaryStorageVO 时为 Root / Data / 空(全部硬盘) | 5.2.0 |
| resourcePolicy | String | 预留字段,当前为 null | 5.2.0 |
| effect | String | Include / Exclude / Recommend / NotRecommend | 5.2.0 |
| policyFrom | String | 规则来源类型,一般 null 表示 default | 5.2.0 |
| policyUuid | String | 规则来源UUID,一般 null | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
#scenes
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| id | Long | 自增主键 | 5.2.0 |
| domainUuid | String | 所属调度域UUID | 5.2.0 |
| scene | String | NewCreate / Start / Migrate / Ha / HostMaintenance / Drs。行存在即启用 | 5.2.0 |
| createDate | Timestamp | 创建时间 | 5.2.0 |
SDK示例
Java SDK
UpdateAllocatorDomainAction action = new UpdateAllocatorDomainAction();
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00";
action.name = "domain-1";
action.state = "Enabled";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateAllocatorDomainAction.Result res = action.call();
Python SDK
action = UpdateAllocatorDomainAction()
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00"
action.name = "domain-1"
action.state = "Enabled"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
获取调度域资源候选列表(GetAllocatorDomainCandidates)
按数据中心获取可加入调度域的主机、集群、数据存储和三层网络候选列表。候选资源已关联到该数据中心且处于可用状态,三层网络候选包含分布式端口组。
API请求
URLs
GET zstack/v1/allocator-domains/candidates
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/allocator-domains/candidates?zoneUuid=ff0c268342c535aabf273d41a2be1d00
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| zoneUuid | String | query | 数据中心UUID | 5.2.0 | |
| systemTags (可选) | List | query | 系统标签 | 5.2.0 | |
| userTags (可选) | List | query | 用户标签 | 5.2.0 |
API返回
返回示例
{
"hosts": [],
"clusters": [],
"primaryStorages": [],
"l3Networks": []
}
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 5.2.0 |
| error | ErrorCode | 详情参考error | 5.2.0 |
| hosts | List | 详情参考hosts | 5.2.0 |
| clusters | List | 详情参考clusters | 5.2.0 |
| primaryStorages | List | 详情参考primaryStorages | 5.2.0 |
| l3Networks | List | 详情参考l3Networks | 5.2.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 |
#hosts
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| zoneUuid | String | 数据中心UUID | 0.6 |
| name | String | 资源名称 | 0.6 |
| uuid | String | 资源的UUID,唯一标示该资源 | 0.6 |
| clusterUuid | String | 集群UUID | 0.6 |
| description | String | 资源的详细描述 | 0.6 |
| managementIp | String | 0.6 | |
| hypervisorType | String | 0.6 | |
| state | String | 0.6 | |
| status | String | 0.6 | |
| totalCpuCapacity | Long | 0.6 | |
| availableCpuCapacity | Long | 0.6 | |
| cpuSockets | Integer | 物理CPU插槽数量 | 0.6 |
| totalMemoryCapacity | Long | 0.6 | |
| availableMemoryCapacity | Long | 0.6 | |
| cpuNum | Integer | 逻辑CPU数量 | 0.6 |
| ipmiAddress | String | IPMI地址 | 0.6 |
| ipmiUsername | String | IPMI用户名 | 0.6 |
| ipmiPort | Integer | IPMI端口 | 0.6 |
| ipmiPowerStatus | String | IPMI电源状态 | 0.6 |
| architecture | String | 0.6 | |
| nqn | String | NVMe 限定名称 | 4.10.6 |
| hostname | String | 主机名 | 4.10.20 |
| createDate | Timestamp | 创建时间 | 0.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
| cpuStatus | HwMonitorStatus | 详情参考cpuStatus | 4.10.0 |
| memoryStatus | HwMonitorStatus | 详情参考memoryStatus | 4.10.0 |
| diskStatus | HwMonitorStatus | 详情参考diskStatus | 4.10.0 |
| nicStatus | HwMonitorStatus | 详情参考nicStatus | 4.10.0 |
| gpuStatus | HwMonitorStatus | 详情参考gpuStatus | 4.10.0 |
| powerSupplyStatus | HwMonitorStatus | 详情参考powerSupplyStatus | 4.10.0 |
| fanStatus | HwMonitorStatus | 详情参考fanStatus | 4.10.0 |
| raidStatus | HwMonitorStatus | 详情参考raidStatus | 4.10.0 |
| temperatureStatus | HwMonitorStatus | 详情参考temperatureStatus | 4.10.0 |
#cpuStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#memoryStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#diskStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#nicStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#gpuStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#powerSupplyStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#fanStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#raidStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#temperatureStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | HwMonitorStatus | 正常 | 4.10.0 |
| Error | HwMonitorStatus | 异常 | 4.10.0 |
| Unknown | HwMonitorStatus | 未知 | 4.10.0 |
#clusters
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| name | String | 资源名称 | 0.6 |
| uuid | String | 资源的UUID,唯一标示该资源 | 0.6 |
| description | String | 资源的详细描述 | 0.6 |
| state | String | 集群状态 | 0.6 |
| hypervisorType | String | 虚拟机管理程序类型 | 0.6 |
| createDate | Timestamp | 创建时间 | 0.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
| zoneUuid | String | 数据中心UUID | 0.6 |
| type | String | 保留域 | 0.6 |
#primaryStorages
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 0.6 |
| zoneUuid | String | 数据中心UUID | 0.6 |
| name | String | 资源名称 | 0.6 |
| url | String | 0.6 | |
| description | String | 资源的详细描述 | 0.6 |
| totalCapacity | Long | 0.6 | |
| availableCapacity | Long | 0.6 | |
| totalPhysicalCapacity | Long | 0.6 | |
| availablePhysicalCapacity | Long | 0.6 | |
| systemUsedCapacity | Long | 0.6 | |
| type | String | 0.6 | |
| state | String | 0.6 | |
| status | String | 0.6 | |
| mountPath | String | 0.6 | |
| createDate | Timestamp | 创建时间 | 0.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
| attachedClusterUuids | List | 0.6 |
#l3Networks
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| 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 |
| enableIPAM | Boolean | 打开IP地址管理功能 | 4.10.16 |
| 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 |
| reservedIpRanges | List | 详情参考reservedIpRanges | 4.10.16 |
#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 |
| gateway | String | 网关 | 0.6 |
| networkCidr | String | 网络CIDR | 0.6 |
| ipVersion | Integer | ip协议号 | 3.1 |
| addressMode | String | IPv6地址分配模式 | 3.1 |
| createDate | Timestamp | 创建时间 | 0.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 0.6 |
| ipRangeType | IpRangeType | 详情参考ipRangeType | 3.9 |
#ipRangeType
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Normal | IpRangeType | 普通地址段 | 3.9 |
| AddressPool | IpRangeType | 地址池段 | 3.9 |
#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 |
#reservedIpRanges
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.10.16 |
| l3NetworkUuid | String | 三层网络UUID | 4.10.16 |
| name | String | 资源名称 | 4.10.16 |
| description | String | 资源的详细描述 | 4.10.16 |
| startIp | String | 起始IP(包含在保留地址段内) | 4.10.16 |
| endIp | String | 结束IP(包含在保留地址段内) | 4.10.16 |
| ipVersion | Integer | ip协议号 | 4.10.16 |
| createDate | Timestamp | 创建时间 | 4.10.16 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.10.16 |
SDK示例
Java SDK
GetAllocatorDomainCandidatesAction action = new GetAllocatorDomainCandidatesAction();
action.zoneUuid = "ff0c268342c535aabf273d41a2be1d00";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetAllocatorDomainCandidatesAction.Result res = action.call();
Python SDK
action = GetAllocatorDomainCandidatesAction()
action.zoneUuid = "ff0c268342c535aabf273d41a2be1d00"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
获取调度域关联虚拟机(GetAllocatorDomainVms)
获取当前属于指定调度域的虚拟机、下次启动将进入该域且不在当前列表中的虚拟机,以及当前可以加入该域的虚拟机。
API请求
URLs
GET zstack/v1/allocator-domains/{uuid}/vms
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/allocator-domains/ff0b7658d3cd30e390a6d8799a78fa00/vms
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 调度域UUID | 5.2.0 | |
| systemTags (可选) | List | query | 系统标签 | 5.2.0 | |
| userTags (可选) | List | query | 用户标签 | 5.2.0 |
API返回
返回示例
{
"currentVms": [
"ff01ec80fd11327cba7519b66119d900"
],
"nextStartVms": [],
"candidateVms": []
}
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 5.2.0 |
| currentVms | List | 当前在域中的虚拟机UUID列表(SystemTag 当前值等于该域) | 5.2.0 |
| candidateVms | List | 当前不在域中的、运行中的、可以加入该域的虚拟机UUID列表 | 5.2.0 |
| nextStartVms | List | 下次启动会进入该域、且不在 currentVms 中的虚拟机UUID列表(ResourceConfig 配置值等于该域,当前值不是该域) | 5.2.0 |
| error | ErrorCode | 详情参考error | 5.2.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
GetAllocatorDomainVmsAction action = new GetAllocatorDomainVmsAction();
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetAllocatorDomainVmsAction.Result res = action.call();
Python SDK
action = GetAllocatorDomainVmsAction()
action.uuid = "ff0b7658d3cd30e390a6d8799a78fa00"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
