高可用策略相关接口
更新高可用策略(UpdateHaStrategyCondition)
API请求
URLs
PUT zstack/v1/ha-strategy-condition/{uuid}/actionsHeaders
Authorization: OAuth the-session-uuidBody
{
"updateHaStrategyCondition": {
"name": "new ha strategycondition name",
"state": "Enable"
},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateHaStrategyCondition":{"name":"new ha strategycondition name","state":"Enable"}}' http://localhost:8080/zstack/v1/ha-strategy-condition/bf798f9ae94f3007a293f090ec555d57/actions参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 4.7.0 | |
| name (可选) | String | body(包含在updateHaStrategyCondition结构中) | 资源名称 | 4.7.0 | |
| state (可选) | String | body(包含在updateHaStrategyCondition结构中) | 状态 | 4.7.0 | |
| systemTags (可选) | List | body | 系统标签 | 4.7.0 | |
| userTags (可选) | List | body | 用户标签 | 4.7.0 |
API返回
返回示例
{
"inventory": {
"uuid": "9a01c1cea2793814b8b1bf228a2ff601",
"name": "test",
"fencerName": "hostStorageState"
}
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 4.7.0 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 4.7.0 |
| inventory | HaStrategyConditionInventory | 详情参考inventory | 4.7.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 4.7.0 |
| description | String | 错误的概要描述 | 4.7.0 |
| details | String | 错误的详细信息 | 4.7.0 |
| elaboration | String | 保留字段,默认为null | 4.7.0 |
| opaque | LinkedHashMap | 保留字段,默认为null | 4.7.0 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 4.7.0 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.7.0 |
| name | String | 资源名称 | 4.7.0 |
| fencerName | String | fencer 名字 | 4.7.0 |
| state | String | 状态 | 4.7.0 |
| createDate | Timestamp | 创建时间 | 4.7.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.7.0 |
SDK示例
Java
SDK
UpdateHaStrategyConditionAction action = new UpdateHaStrategyConditionAction();
action.uuid = "bf798f9ae94f3007a293f090ec555d57";
action.name = "new ha strategycondition name";
action.state = "Enable";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateHaStrategyConditionAction.Result res = action.call();Python
SDK
UpdateHaStrategyConditionAction action = UpdateHaStrategyConditionAction()
action.uuid = "bf798f9ae94f3007a293f090ec555d57"
action.name = "new ha strategycondition name"
action.state = "Enable"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateHaStrategyConditionAction.Result res = action.call()更改高可用网络组状态(ChangeHaNetworkGroupState)
API请求
URLs
PUT zstack/v1/ha/network-groups/{uuid}/actionsHeaders
Authorization: OAuth the-session-uuidBody
{
"changeHaNetworkGroupState": {
"stateEvent": "disable"
},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeHaNetworkGroupState":{"stateEvent":"disable"}}' \
http://localhost:8080/zstack/v1/ha/network-groups/865252e42475363f8d3533de038f5680/actions参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 5.5.6 | |
| stateEvent | String | body(包含在changeHaNetworkGroupState结构中) | 状态事件,enable为启用,disable为禁用 |
|
5.5.6 |
| systemTags (可选) | List | body | 系统标签 | 5.5.6 | |
| userTags (可选) | List | body | 用户标签 | 5.5.6 |
API返回
返回示例
{
"inventory": {
"uuid": "79d61df9c52b329dab9e601363a7a7f3",
"name": "ha-network-group-1",
"type": "Flat",
"minAvailableCount": 2,
"state": "Disabled",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 5.5.6 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 5.5.6 |
| inventory | HaNetworkGroupInventory | 详情参考inventory | 5.5.6 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.5.6 |
| name | String | 资源名称 | 5.5.6 |
| description | String | 资源的详细描述 | 5.5.6 |
| type | String | 网络组类型,Flat为扁平网络,Public为公共网络 | 5.5.6 |
| minAvailableCount | int | 最小可用网络数量 | 5.5.6 |
| state | String | 网络组状态 | 5.5.6 |
| createDate | Timestamp | 创建时间 | 5.5.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.5.6 |
| l3NetworkUuids | Set | 三层网络UUID列表 | 5.5.6 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 5.3.20 |
| description | String | 错误的概要描述 | 5.3.20 |
| details | String | 错误的详细信息 | 5.3.20 |
| elaboration | String | 保留字段,默认为null | 5.3.20 |
| opaque | LinkedHashMap | 保留字段,默认为null | 5.3.20 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 5.3.20 |
SDK示例
Java SDK
ChangeHaNetworkGroupStateAction action = new ChangeHaNetworkGroupStateAction();
action.uuid = "865252e42475363f8d3533de038f5680";
action.stateEvent = "disable";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ChangeHaNetworkGroupStateAction.Result res = action.call();Python SDK
ChangeHaNetworkGroupStateAction action = ChangeHaNetworkGroupStateAction()
action.uuid = "865252e42475363f8d3533de038f5680"
action.stateEvent = "disable"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ChangeHaNetworkGroupStateAction.Result res = action.call()创建高可用网络组(CreateHaNetworkGroup)
API请求
URLs
POST zstack/v1/ha/network-groupsHeaders
Authorization: OAuth the-session-uuidBody
{
"params": {
"name": "ha-network-group-1",
"description": "test ha network group",
"type": "Flat",
"minAvailableCount": 1,
"l3NetworkUuids": [
"5032dcf201be3083aec2a043417b4753"
]
},
"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":"ha-network-group-1","description":"test ha network group","type":"Flat","minAvailableCount":1,"l3NetworkUuids":["5032dcf201be3083aec2a043417b4753"]}}' \
http://localhost:8080/zstack/v1/ha/network-groups参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| name | String | body(包含在params结构中) | 资源名称 | 5.5.6 | |
| description (可选) | String | body(包含在params结构中) | 资源的详细描述 | 5.5.6 | |
| type | String | body(包含在params结构中) | 网络组类型,Flat为扁平网络,Public为公共网络 |
|
5.5.6 |
| minAvailableCount | int | body(包含在params结构中) | 最小可用网络数量 | 5.5.6 | |
| l3NetworkUuids | List | body(包含在params结构中) | 三层网络UUID列表 | 5.5.6 | |
| resourceUuid (可选) | String | body(包含在params结构中) | 资源UUID | 5.5.6 | |
| tagUuids (可选) | List | body(包含在params结构中) | 标签UUID列表 | 5.5.6 | |
| systemTags (可选) | List | body | 系统标签 | 5.5.6 | |
| userTags (可选) | List | body | 用户标签 | 5.5.6 |
API返回
返回示例
{
"inventory": {
"uuid": "5a8e1c376c5e3080a27727ed13f4e88b",
"name": "ha-network-group-1",
"description": "test ha network group",
"type": "Flat",
"minAvailableCount": 2,
"state": "Enabled",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 5.5.6 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 5.5.6 |
| inventory | HaNetworkGroupInventory | 详情参考inventory | 5.5.6 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.5.6 |
| name | String | 资源名称 | 5.5.6 |
| description | String | 资源的详细描述 | 5.5.6 |
| type | String | 网络组类型,Flat为扁平网络,Public为公共网络 | 5.5.6 |
| minAvailableCount | int | 最小可用网络数量 | 5.5.6 |
| state | String | 网络组状态 | 5.5.6 |
| createDate | Timestamp | 创建时间 | 5.5.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.5.6 |
| l3NetworkUuids | Set | 三层网络UUID列表 | 5.5.6 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 5.3.20 |
| description | String | 错误的概要描述 | 5.3.20 |
| details | String | 错误的详细信息 | 5.3.20 |
| elaboration | String | 保留字段,默认为null | 5.3.20 |
| opaque | LinkedHashMap | 保留字段,默认为null | 5.3.20 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 5.3.20 |
SDK示例
Java SDK
CreateHaNetworkGroupAction action = new CreateHaNetworkGroupAction();
action.name = "ha-network-group-1";
action.description = "test ha network group";
action.type = "Flat";
action.minAvailableCount = 1;
action.l3NetworkUuids = asList("5032dcf201be3083aec2a043417b4753");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateHaNetworkGroupAction.Result res = action.call();Python SDK
CreateHaNetworkGroupAction action = CreateHaNetworkGroupAction()
action.name = "ha-network-group-1"
action.description = "test ha network group"
action.type = "Flat"
action.minAvailableCount = 1
action.l3NetworkUuids = ["5032dcf201be3083aec2a043417b4753"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateHaNetworkGroupAction.Result res = action.call()删除高可用网络组(DeleteHaNetworkGroup)
API请求
URLs
DELETE zstack/v1/ha/network-groups/{uuid}Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE \
http://localhost:8080/zstack/v1/ha/network-groups/a016cfe6c59638de9ffda0a3492c0a69参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 5.5.6 | |
| deleteMode (可选) | String | body | 删除模式(Permissive / Enforcing,Permissive) | 5.5.6 | |
| systemTags (可选) | List | body | 系统标签 | 5.5.6 | |
| userTags (可选) | List | body | 用户标签 | 5.5.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
DeleteHaNetworkGroupAction action = new DeleteHaNetworkGroupAction();
action.uuid = "a016cfe6c59638de9ffda0a3492c0a69";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteHaNetworkGroupAction.Result res = action.call();Python SDK
DeleteHaNetworkGroupAction action = DeleteHaNetworkGroupAction()
action.uuid = "a016cfe6c59638de9ffda0a3492c0a69"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteHaNetworkGroupAction.Result res = action.call()查询高可用网络组(QueryHaNetworkGroup)
API请求
URLs
GET zstack/v1/ha/network-groups
GET zstack/v1/ha/network-groups/{uuid}Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET \
http://localhost:8080/zstack/v1/ha/network-groups?q=uuid=e61587e2fbe73ddbb3fb86d0273274cacurl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET \
http://localhost:8080/zstack/v1/ha/network-groups/0a1a8c10ae693f30b11a2b9ae33939d1可查询字段
运行CLI命令行工具,输入QueryHaNetworkGroup并按Tab键查看所有可查询字段以及可跨表查询的资源名。
API返回
返回示例
{
"inventories": [
{
"uuid": "ce5a4bf592483839ac3bb6d683328452",
"name": "ha-network-group-1",
"description": "test ha network group",
"type": "Flat",
"minAvailableCount": 2,
"state": "Enabled",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
]
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 5.5.6 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 5.5.6 |
| inventories | List | 详情参考inventories | 5.5.6 |
#inventories
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.5.6 |
| name | String | 资源名称 | 5.5.6 |
| description | String | 资源的详细描述 | 5.5.6 |
| type | String | 网络组类型,Flat为扁平网络,Public为公共网络 | 5.5.6 |
| minAvailableCount | int | 最小可用网络数量 | 5.5.6 |
| state | String | 网络组状态 | 5.5.6 |
| createDate | Timestamp | 创建时间 | 5.5.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.5.6 |
| l3NetworkUuids | Set | 三层网络UUID列表 | 5.5.6 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 5.3.20 |
| description | String | 错误的概要描述 | 5.3.20 |
| details | String | 错误的详细信息 | 5.3.20 |
| elaboration | String | 保留字段,默认为null | 5.3.20 |
| opaque | LinkedHashMap | 保留字段,默认为null | 5.3.20 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 5.3.20 |
SDK示例
Java SDK
QueryHaNetworkGroupAction action = new QueryHaNetworkGroupAction();
action.conditions = asList("uuid=1b765617c8c630b3bbeb14a58f728c23");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryHaNetworkGroupAction.Result res = action.call();Python SDK
QueryHaNetworkGroupAction action = QueryHaNetworkGroupAction()
action.conditions = ["uuid=7bacfc453b573372b8ed27068c2ee51d"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryHaNetworkGroupAction.Result res = action.call()更新高可用网络组(UpdateHaNetworkGroup)
API请求
URLs
PUT zstack/v1/ha/network-groups/{uuid}Headers
Authorization: OAuth the-session-uuidBody
{
"updateHaNetworkGroup": {
"name": "updated-ha-network-group",
"description": "updated description",
"minAvailableCount": 3
},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateHaNetworkGroup":{"name":"updated-ha-network-group","description":"updated description","minAvailableCount":3}}' \
http://localhost:8080/zstack/v1/ha/network-groups/33b1d8e00d9234c8aabc8e0f00bf7526参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 5.5.6 | |
| name (可选) | String | body(包含在updateHaNetworkGroup结构中) | 资源名称 | 5.5.6 | |
| description (可选) | String | body(包含在updateHaNetworkGroup结构中) | 资源的详细描述 | 5.5.6 | |
| minAvailableCount (可选) | Integer | body(包含在updateHaNetworkGroup结构中) | 最小可用网络数量 | 5.5.6 | |
| l3NetworkUuids (可选) | List | body(包含在updateHaNetworkGroup结构中) | 三层网络UUID列表 | 5.5.6 | |
| systemTags (可选) | List | body | 系统标签 | 5.5.6 | |
| userTags (可选) | List | body | 用户标签 | 5.5.6 |
API返回
返回示例
{
"inventory": {
"uuid": "da53a7ae0e8c3b5f93f7b92c72f7061e",
"name": "updated-ha-network-group",
"description": "updated description",
"type": "Flat",
"minAvailableCount": 3,
"state": "Enabled",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 5.5.6 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 5.5.6 |
| inventory | HaNetworkGroupInventory | 详情参考inventory | 5.5.6 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 5.5.6 |
| name | String | 资源名称 | 5.5.6 |
| description | String | 资源的详细描述 | 5.5.6 |
| type | String | 网络组类型,Flat为扁平网络,Public为公共网络 | 5.5.6 |
| minAvailableCount | int | 最小可用网络数量 | 5.5.6 |
| state | String | 网络组状态 | 5.5.6 |
| createDate | Timestamp | 创建时间 | 5.5.6 |
| lastOpDate | Timestamp | 最后一次修改时间 | 5.5.6 |
| l3NetworkUuids | Set | 三层网络UUID列表 | 5.5.6 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 5.3.20 |
| description | String | 错误的概要描述 | 5.3.20 |
| details | String | 错误的详细信息 | 5.3.20 |
| elaboration | String | 保留字段,默认为null | 5.3.20 |
| opaque | LinkedHashMap | 保留字段,默认为null | 5.3.20 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 5.3.20 |
SDK示例
Java SDK
UpdateHaNetworkGroupAction action = new UpdateHaNetworkGroupAction();
action.uuid = "33b1d8e00d9234c8aabc8e0f00bf7526";
action.name = "updated-ha-network-group";
action.description = "updated description";
action.minAvailableCount = 3;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateHaNetworkGroupAction.Result res = action.call();Python SDK
UpdateHaNetworkGroupAction action = UpdateHaNetworkGroupAction()
action.uuid = "33b1d8e00d9234c8aabc8e0f00bf7526"
action.name = "updated-ha-network-group"
action.description = "updated description"
action.minAvailableCount = 3
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateHaNetworkGroupAction.Result res = action.call()