园区基础网络类API概述及向导

网友投稿 1309 2022-05-30

快速开始

接口概述

iMaster NCE-Campus提供了一组RESTful API,外部的应用程序可以使用HTTPS访问API接口,实现业务下发、网络管理和监控等功能。

基础网络API,主要针对网络侧的控制管理运维等,适用于MSP集成代理场景,包含基础服务、网络配置、策略服务、运维监控几大类API。

对于租户/MSP,支持租户、站点、设备、账号、地图等基础服务接口。

对于交换机或AP设备,支持端口、SSID、VLAN、射频、SNMP/LLDP、DHCP等配置接口。

支持接入、安全、认证账号管理等策略服务接口。

支持查询链路状态/事件、设备状态/事件,支持重启设备、运维ping/trace探测、恢复出厂等运维接口。

登录认证

客户端向服务器下发登录认证请求,服务器返回一个Token和过期时间。

此处为模拟调测环境,已经为各位开发者创建好北向用户帐号。在调用真实环境的北向接口之前,应在iMaster NCE-Campus上创建具有Open Api Operator角色的帐号,用于获取Token。操作详情请参见创建北向用户。

请求URL

获取Token值使用如下URL:

https://devzone.huawei.com/cloudcampus/controller/v2/tokens

Headers

此API使用如下Headers参数进行登录认证:

请求示例

请求参数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=="     } }

下发RESTful请求

客户端携带上面的Token再下发RESTful请求给服务器。

请求URL

调用查询用户组API使用如下URL:

https://devzone.huawei.com/controller/campus/v1/accountservice/usergroups

Headers

此API使用如下Headers参数下发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": "" }

向导

创建北向用户

使用华为云帐号登录沙箱预约系统。

请参考预约实验室使用指导,完成实验室预约。

进入“我的环境 > 物理实验室”,当实验室为 active 状态时,单击已预约实验室操作列表的“体验”,进入体验界面。

单击iMaster NCE-Campus图标,在“属性”页签获取iMaster NCE-Campus 的IP、用户名和密码(使用此用户名和密码登录iMaster NCE-Campus,用于创建北向用户)。

鼠标悬浮至iMaster NCE-Campus图标,单击

,可使用上面获取的用户名和密码登录到iMaster NCE-Campus。

选择“系统 > 系统管理 > 管理员”,在“用户”页签中单击“创建”,创建Open Api Operator帐号。请将“首次登录修改密码”选择“否”。

两次单击“下一步”。

单击“确定”。

REST API

约束与注意

园区基础网络类API概述及向导

接口的输入参数、请求消息体、结果消息体统一采用UTF-8编码。

通过PUT进行修改操作时,如果非必填字段在报文中未携带,或填为null,则此字段维持原值,不作修改。若想清空一个string字段,可以填入空字符串””。

HTTP Header中,可以通过Accept-Language设置en-US来指定返回信息为英文,若不指定Accept-Language,则默认返回英文信息。

通过API创建的数据,不能在iMaster NCE-Campus界面上删除。

所有API的请求报文中Host端口号由18008改为18002。

所有API的接口使用的是北向IP。

API接口调用会话超时时间默认设置为10分钟,若10分钟内无会话交互,则系统会自动清理会话session。

接口规范

iMaster NCE-Campus的所有REST接口的URL地址均遵从下述规范:

 /  /  ? 

OP:对应方法,方法包括POST、PUT、DELETE、GET。

service-path:REST API微服务路径。

resource:操作的资源路径。

query:参数集。使用“name=value”对标识。

HTTP Headers

iMaster NCE-Campus对REST接口的Headers进行了一定的限制,主要包括如下几个参数:

Content-Type:包含了文档的“mime-type”。浏览器将会依据该参数决定如何对文档进行解析。

Accept:表示浏览器可接受的MIME类型。浏览器将会依据该参数决定接受何种参数格式。

Accept-Language:服务器端可接受的语言类型默认为en-US。

X-ACCESS-TOKEN:发送Token信息给服务器。

方法说明

状态码定义

RESTful采用HTTP状态码来报告操作结果。

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     cloudcampus     1.0.0   

初始化客户端

使用com.huawei.cloudcampus.api.ApiClient类来初始化您的SDK,您需要配置北向API使用的端口号(18002),iMaster NCE-Campus控制器的IP以及北向帐号和密码(请参考创建北向用户),如下所示:

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,和本次调用的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以及北向帐号和密码(请参考创建北向用户),如下所示:

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)

网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【API进阶之路】项目差点翻车,幸好我及时学会了IAM自定义代理免密登录
下一篇:网易新闻RSS阅读器
相关文章