日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cloudstack java api_CloudStack API编程指引

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cloudstack java api_CloudStack API编程指引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本文闡述為CloudStack編寫新API或者更新已存在API時應遵循的約定和編程指引。

參考文檔

(暫略)

介紹

當你需要為CS添加新的API時,需要創建一個Request類和Response類(或者在擴展CS API功能時它的API Responese已經定義的情況下重用已經存在的API Response類)。

編寫CS API Request類

1、request繼承自*Cmd抽象類

CUD(新增/更新/刪除 命令)

R(讀取列表)命令

重要-從2.x開始,新的CUD API命令不再繼承自BaseCmd 類,它們被看做是異步命令,繼承自BaseAsyncCmd或者BaseAsyncCreateCmd。

擴展BaseAsyncCmd或者BaseAsyncCreateCmd,創建新的CS實體命令擴展BaseAsyncCreateCmd,UD命令擴展BaseAsyncCmd。

2、新添加的command類應以“*Cmd”結尾且標注@ApiCommand。更多請閱參考文檔Annotations use in the API中的@ parameters。

3、定義所有的請求參數,且所有的都用@Parameter標注。

4、為RUD命令實現execute()方法,為R命令實現execute()/create()。

5、增加s_name--響應的名字,并且為小寫。

6、在為命令命名時,根據含義優先使用create/delete/update/list,只有當這些前綴不能滿足你的邏輯時才考慮用你自己的(如assign)。

編寫CS API Response類

1、讓你的類繼承自BaseResponse。

2、用@EntityReference標注Response類,并設定關聯的CloudStack接口,它是你返回給API用戶的對象。比如VolumeResponse 用EntityReference 標注關聯Volume接口。

3、將每個參數用@SerializedName 和?@Param注解。?請閱在Annotations use in the API中關于這些注解的細節。

4、參數名稱都是小寫。

5、確保沒有將真實的DB id設置到id字段將其暴漏,請用UUID值代替。

API位置和注冊

命令的位置取決于該命令將是可用/禁用插件或者CloudStack核心的一部分。

當命令是CS核心的一部分

位置:Reque/Response代碼放在cloud-api/cloud-engine-api下。

訪問權限:命令的訪問控制權限(誰有能調用它)在commands.properties.in里注冊。

命令注冊:命令應添加到CS支持的所有的API列表中,該列表由ManagementServerImpl.getCommands()獲得

注意當命令調用完成時,它們關聯的只能是cloud-api 或 cloud-util包里的接口

當命令是插件/服務的一部分

位置:Reque/Response代碼放在plugin包下。

訪問權限:在Cmd文件里定義權限,使用@APICommand 注解"authorized"字段,如authorized = {RoleType.Admin}) 。

命令注冊:讓插件管理類繼承自PluggableService 接口,增加到命令列表的命令由getCommands()返回。

定義在插件中的命令只關聯位于cloud-api/cloud-utils/中的接口。

修改已存在API的規則

1、對Request:不要將參數從可選改為必需的;

2、對Request:不要在已存在的命令里增加一個required=true的參數;

3、對Request:不要降低command的權限,從對普通用戶可用降到只對管理員可用;

4、對Request/Response:不要重命名已有的參數;

5、對Request/Response:不要更改參數的類型(如從String改為Map)

6、對Response:不要刪除Response的參數,由于第三方軟件會依賴它。

其它規則:

1、當新增一個參數時,應該在它的@Parameter 里標注"since=release #" 字段;

2、如果你認為有些參數會在未來被刪除掉,請標注@Deprecated,并確保在第n版本里記錄。當它發布后,客戶有機會去檢查/修改代碼以去掉這個參數。于是可以在第n+1個版本去除該參數。

總結

以上是生活随笔為你收集整理的cloudstack java api_CloudStack API编程指引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99精品视频一区二区三区 | 黄色视屏在线播放 | 饥渴丰满的少妇喷潮 | 五月天激情丁香 | 9.1在线观看免费 | 韩国一区二区在线播放 | 国产免费又粗又猛又爽 | 噜噜噜色 | 欧美一区二区三区爱爱 | 无码人妻一区二区三区av | 无码人妻丰满熟妇区毛片18 | a级黄色一级片 | 99久久成人 | 中文字幕资源网 | 五月开心播播网 | 初尝黑人巨炮波多野结衣 | 一级黄色片a | 国产综合久久久 | 亚洲人人爱 | 国产色综合网 | 在线观看不卡的av | 麻豆自拍偷拍 | 日本免费黄色片 | 亚洲精品免费在线观看 | 麻豆传媒在线视频 | 欧美一区二区三区免费观看 | 国产美女久久久 | 国产情侣激情自拍 | 亚洲精品综合 | 色播日韩| 人人插人人干 | 国产精品无码乱伦 | 欧美在线精品一区二区三区 | 比利时xxxx性hd极品 | av毛片在线看 | 18禁裸男晨勃露j毛免费观看 | 精品一区二区久久久 | 成人看的视频 | 国语对白对话在线观看 | 久操亚洲 | 国产一区免费在线观看 | 人妻少妇被粗大爽9797pw | 国产精品自拍第一页 | 夜夜操天天操 | 懂色av蜜臀av粉嫩av分 | 欧美jizz19性欧美 | 日韩中文字幕精品 | 亚洲在线免费视频 | 国产精品美女主播 | 精品裸体舞一区二区三区 | 午夜亚洲AV永久无码精品蜜芽 | 成人在线观看黄色 | 小泽玛丽亚在线观看 | 最新国产精品视频 | 黄色一级片免费在线观看 | 波多野结衣亚洲 | 欧美成一区二区三区 | 亚洲欧美另类国产 | 成人 黄 色 免费播放 | 欧美888| 在线观看av的网址 | 少妇高潮灌满白浆毛片免费看 | 91福利网址 | 男生插女生视频 | 干欧美| 欧美男女性生活视频 | 黄色片在线免费观看 | 伊人国产在线视频 | 人人操在线播放 | 黑人巨大精品一区二区在线 | 国产一级二级三级在线观看 | 欧美精品成人 | 韩国三级hd中文字幕有哪些 | 美女av在线播放 | 天天摸夜夜添 | 婷婷成人av| 色妞网站 | 91插插插影库永久免费 | 欧美一区亚洲一区 | 午夜天堂在线 | 国产精品老牛影视 | 欧美,日韩,国产在线 | 87福利视频 | 精品一区二区不卡 | 91精品色| 国内精品第一页 | a v视频在线观看 | 欧美第三页 | 久久亚洲综合色图 | 亚洲成人免费 | 日本亲与子乱ay中文 | 日韩一区二区在线看 | 国自产拍偷拍精品啪啪一区二区 | 成人在线视屏 | 91视频免费网站 | 伦伦影院午夜理论片 | 9色91| 日日爱视频 | 欧美亚洲在线视频 |