共享资源给账户
Headers
Authorization: OAuth the-session-uuidBody
{
"shareResource": {
"resourceUuids": [
"62113cf71892442daf57fe1a21606e7b",
"e8d14f0a61d7497c83cf9451bdd392a3"
],
"accountUuids": [
"17c6a138e5f04df4ad8938fa8bd06340",
"7063dc465e7c42739fdb5fd7d3e373f4"
],
"toPublic": false
},
"systemTags": [],
"userTags": []
}上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"shareResource":{"resourceUuids":["05c5cdd1a5693e53ad3212a69b808883","49c6493b8eaf3765806aeb17071e779f"],"accountUuids":["62c084e3a2053b089b8b95fe452856e7","194f8c7d98963e628b9967b0df7eecae"],"toPublic":false}}' \
http://localhost:8080/zstack/v1/accounts/resources/actions参数列表
名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
resourceUuids | List | body(包含在shareResource结构中) | 资源UUID列表 |
| 0.6 |
accountUuids (可选) | List | body(包含在shareResource结构中) | 账户UUID列表 |
| 0.6 |
toPublic (可选) | boolean | body(包含在shareResource结构中) | 全局共享Note: toPublic参数被设为false时,账户uuid不能为空 |
| 0.6 |
permission (可选) | String | body(包含在shareResource结构中) | 共享的权限, WRITE 表示写权限, READ 表示读权限 |
| 4.2.0 |
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
ShareResourceAction action = new ShareResourceAction();
action.resourceUuids = asList("05c5cdd1a5693e53ad3212a69b808883","49c6493b8eaf3765806aeb17071e779f");
action.accountUuids = asList("62c084e3a2053b089b8b95fe452856e7","194f8c7d98963e628b9967b0df7eecae");
action.toPublic = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ShareResourceAction.Result res = action.call();
Python SDK
ShareResourceAction action = ShareResourceAction()
action.resourceUuids = [05c5cdd1a5693e53ad3212a69b808883, 49c6493b8eaf3765806aeb17071e779f]
action.accountUuids = [62c084e3a2053b089b8b95fe452856e7, 194f8c7d98963e628b9967b0df7eecae]
action.toPublic = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ShareResourceAction.Result res = action.call()