園區(qū)基礎網(wǎng)絡類API概述及向導
快速開始
接口概述
iMaster NCE-Campus提供了一組RESTful API,外部的應用程序可以使用HTTPS訪問API接口,實現(xiàn)業(yè)務下發(fā)、網(wǎng)絡管理和監(jiān)控等功能。
基礎網(wǎng)絡API,主要針對網(wǎng)絡側的控制管理運維等,適用于MSP集成代理場景,包含基礎服務、網(wǎng)絡配置、策略服務、運維監(jiān)控幾大類API。
對于租戶/MSP,支持租戶、站點、設備、賬號、地圖等基礎服務接口。
對于交換機或AP設備,支持端口、SSID、VLAN、射頻、SNMP/LLDP、DHCP等配置接口。
支持接入、安全、認證賬號管理等策略服務接口。
支持查詢鏈路狀態(tài)/事件、設備狀態(tài)/事件,支持重啟設備、運維ping/trace探測、恢復出廠等運維接口。
登錄認證
客戶端向服務器下發(fā)登錄認證請求,服務器返回一個Token和過期時間。
此處為模擬調(diào)測環(huán)境,已經(jīng)為各位開發(fā)者創(chuàng)建好北向用戶帳號。在調(diào)用真實環(huán)境的北向接口之前,應在iMaster NCE-Campus上創(chuàng)建具有Open Api Operator角色的帳號,用于獲取Token。操作詳情請參見創(chuàng)建北向用戶。
請求URL
獲取Token值使用如下URL:
https://devzone.huawei.com/cloudcampus/controller/v2/tokens
Headers
此API使用如下Headers參數(shù)進行登錄認證:
請求示例
請求參數(shù)userName 和password為您的華為云帳號和密碼。
curl?-X?POST?--header?'Content-Type:?application/json'?--header?'Accept:?application/json'?--header?'Accept-Language:?en-US'?-d?'{"userName":"huaweiUser","password":"huaweiPassword"}'?'https://devzone.huawei.com/cloudcampus/controller/v2/tokens'
登錄認證成功響應
{ ????"errcode":?"0", ????"errmsg":?"get?token?successfully.", ????"data":?{ ????????"expiredDate":?"2020-01-08T17:10:11,887+08:00", ????????"token_id":?"aHVhd2VpcGFvZnU6SHVhd2VpMTIjJA==" ????} }
下發(fā)RESTful請求
客戶端攜帶上面的Token再下發(fā)RESTful請求給服務器。
請求URL
調(diào)用查詢用戶組API使用如下URL:
https://devzone.huawei.com/controller/campus/v1/accountservice/usergroups
Headers
此API使用如下Headers參數(shù)下發(fā)RESTful請求:
請求示例
X-ACCESS-TOKEN取值為已獲取的Token值token_id。
curl?-X?POST?--header?'Content-Type:?application/json'?--header?'Accept:?application/json'?--header?'Accept-Language:?en-US'?--header?'X-ACCESS-TOKEN:?aHVhd2VpcGFvZnU6SHVhd2VpMTIjJA=='?-d?'{"parentId":"?a91e1696-02a2-4a68-bad4-aa639359c8cf","name":"friendName","address":"Xihu?North?Community","postalCode":"125744","adminEmail":"admin%40huawei.com","description":"common?user?group"}'?'https://devzone.huawei.com/cloudcampus/controller/campus/v1/accountservice/usergroups'
響應
{ ?????"data":?{ ??????????"address":?"Xihu?North?Community", ??????????"adminEmail":?"admin%40huawei.com", ??????????"bsid":?"", ??????????"description":?"common?user?group", ??????????"fullPathName":?"", ??????????"id":?"3e7d7186-dff6-48cf-8254-61cceae00090", ??????????"name":?"friendName", ??????????"orderId":?0, ??????????"parentId":?"a91e1696-02a2-4a68-bad4-aa639359c8cf", ??????????"postalCode":?"125744" ?????}, ?????"errcode":?"0", ?????"errmsg":?"" }
向導
創(chuàng)建北向用戶
使用華為云帳號登錄沙箱預約系統(tǒng)。
請參考預約實驗室使用指導,完成實驗室預約。
進入“我的環(huán)境 > 物理實驗室”,當實驗室為 active 狀態(tài)時,單擊已預約實驗室操作列表的“體驗”,進入體驗界面。
單擊iMaster NCE-Campus圖標,在“屬性”頁簽獲取iMaster NCE-Campus 的IP、用戶名和密碼(使用此用戶名和密碼登錄iMaster NCE-Campus,用于創(chuàng)建北向用戶)。
鼠標懸浮至iMaster NCE-Campus圖標,單擊
,可使用上面獲取的用戶名和密碼登錄到iMaster NCE-Campus。
選擇“系統(tǒng) > 系統(tǒng)管理 > 管理員”,在“用戶”頁簽中單擊“創(chuàng)建”,創(chuàng)建Open Api Operator帳號。請將“首次登錄修改密碼”選擇“否”。
兩次單擊“下一步”。
單擊“確定”。
REST API
約束與注意
接口的輸入?yún)?shù)、請求消息體、結果消息體統(tǒng)一采用UTF-8編碼。
通過PUT進行修改操作時,如果非必填字段在報文中未攜帶,或填為null,則此字段維持原值,不作修改。若想清空一個string字段,可以填入空字符串””。
HTTP Header中,可以通過Accept-Language設置en-US來指定返回信息為英文,若不指定Accept-Language,則默認返回英文信息。
通過API創(chuàng)建的數(shù)據(jù),不能在iMaster NCE-Campus界面上刪除。
所有API的請求報文中Host端口號由18008改為18002。
所有API的接口使用的是北向IP。
API接口調(diào)用會話超時時間默認設置為10分鐘,若10分鐘內(nèi)無會話交互,則系統(tǒng)會自動清理會話session。
接口規(guī)范
iMaster NCE-Campus的所有REST接口的URL地址均遵從下述規(guī)范:
OP:對應方法,方法包括POST、PUT、DELETE、GET。
service-path:REST API微服務路徑。
resource:操作的資源路徑。
query:參數(shù)集。使用“name=value”對標識。
HTTP Headers
iMaster NCE-Campus對REST接口的Headers進行了一定的限制,主要包括如下幾個參數(shù):
Content-Type:包含了文檔的“mime-type”。瀏覽器將會依據(jù)該參數(shù)決定如何對文檔進行解析。
Accept:表示瀏覽器可接受的MIME類型。瀏覽器將會依據(jù)該參數(shù)決定接受何種參數(shù)格式。
Accept-Language:服務器端可接受的語言類型默認為en-US。
X-ACCESS-TOKEN:發(fā)送Token信息給服務器。
方法說明
狀態(tài)碼定義
RESTful采用HTTP狀態(tài)碼來報告操作結果。
Java SDK向導
準備工作
如果您還沒有下載Java SDK,請先點擊這里CloudCampus Java SDK JAR下載我們的SDK JAR文件,SDK源碼請參考CloudCampus Java SDK Sources。
注:推薦使用JDK1.8及以上版本。
導入SDK包
將您下載的SDK JAR包導入您的Java工程,如果您使用maven構建您的工程,使用此命令將SDK安裝到您的maven本地倉:
mvn?org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file?-Dfile=cloudcampus-1.0.0.jar
隨后在您的maven工程的pom.xml文件中引入SDK依賴:
ependency>? ???
初始化客戶端
使用com.huawei.cloudcampus.api.ApiClient類來初始化您的SDK,您需要配置北向API使用的端口號(18002),iMaster NCE-Campus控制器的IP以及北向帳號和密碼(請參考創(chuàng)建北向用戶),如下所示:
ApiClient?apiClient?=?new?ApiClient();?apiClient.setTenantName("tenant@north.com");?apiClient.setTenantPwd("Admin@1234");?apiClient.setHost("139.9.213.72");?apiClient.setPort("18002");
SDK使用示例
分頁查詢租戶列表:
ApiClient?apiClient?=?new?ApiClient();? apiClient.setTenantName("tenant@north.com");? apiClient.setTenantPwd("Admin@1234");? apiClient.setHost("139.9.213.72");? apiClient.setPort("18002");
Python SDK向導
準備工作
如果您還沒有下載Python SDK,請先點擊這里CloudCampus Python SDK Sources下載我們的Python SDK源碼文件。
安裝SDK
下載完成后,解壓文件。打開cmd命令行,運行如下命令進入CloudCampus Python SDK源碼文件夾,例如運行如下命令:
cd?FilesPath
FilesPath為CloudCampus Python SDK源碼文件夾
運行如下命令安裝Python SDK:
pip?install?-r?requirements.txt
python?setup.py?install
安裝完成后,運行如下命令查看SDK是否安裝成功:
pip?list
導入SDK包
以查詢租戶接口為例:
導入ApiClient、Configuration,和本次調(diào)用的api(TenantServiceApi)
from?swagger_client.api_client?import?ApiClient from?swagger_client.apis.tenant_service_api?import?TenantServiceApi from?swagger_client.configuration?import?Configuration
初始化客戶端
使用ApiClient類來初始化您的SDK,您需要配置北向API使用的端口號(18002),iMaster NCE-Campus控制器的IP以及北向帳號和密碼(請參考創(chuàng)建北向用戶),如下所示:
tenantName?=?'tenant@north.com' tenantPwd?=?'Admin@1234' host?=?'139.9.213.72' port?=?'18002' config?=?Configuration(host,?port,?tenantName,?tenantPwd) api_client?=?ApiClient(config)
SDK使用示例
分頁查詢租戶列表:
api?=?TenantServiceApi(api_client) pageIndex?=?1 pageSize?=?20 model?=?api.query_softcom_tenants(page_index=pageIndex,?page_size=pageSize)
網(wǎng)絡
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。