
# 注册设备
#### 功能介绍
填写设备信息，将设备注册到HiLens专业版控制台上。
#### URI
POST /v3/{project_id}/ai-mgr/nodes
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                   |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-hilens/hilens_07_0020.html) |
   
表2Query参数 
| 参数       | 是否必选 | 参数类型   | 描述                                          |
|:---|:---|:---|:---|
| provider | 否    | String | 服务提供者：ief或hilens，选择设备纳管到不同的平台。不填默认为hilens平台 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                 |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 租户Token。获取方法请参见[获取Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html) |
   
表4请求Body参数 
| 参数   | 是否必选 | 参数类型                                                                                                                            | 描述        |
|:---|:---|:---|:---|
| node | 是    | [NodeReqDetail] object | 注册设备信息请求体 |
   
 表5NodeReqDetail 
| 参数                    | 是否必选 | 参数类型                                                                                                                              | 描述                                                                            |
|:---|:---|:---|:---|
| batch                 | 否    | Integer                                                                                                                           | 批量注册数量。默认为单设备注册，即batch=1，如果大于1即为批量注册的最大数量。最大上限数量为100000                       |
| description           | 否    | String                                                                                                                            | 设备描述，最大长度255，不允许\^, \~, ＃, $, %, \&, \*, \<, \>, (, ), \[, \], {, }, ', ", \\ |
| enable_gpu            | 否    | Boolean                                                                                                                           | 是否开启GPU，true表示开启，false表示不开启，默认为false                                          |
| enable_npu            | 否    | Boolean                                                                                                                           | 是否开启NPU，true表示开启，false表示不开启，默认为false                                          |
| iam_user_id           | 否    | String                                                                                                                            | 子账号ID。当主账号注册设备时，可以指定将设备注册到指定的子账号下面。不填默认为该发起注册行为用户的user_id                     |
| log_configs           | 否    | Array of [LogConfig] objects | 设备日志配置                                                                        |
| name                  | 是    | String                                                                                                                            | 设备名称，只允许中文字符、英文字母、数字、下划线、中划线，最大长度64                                           |
| npu_type              | 否    | String                                                                                                                            | NPU类型，D310/D910。不填表示为D310类型。                                                  |
| tags                  | 否    | Array of [TagObject] objects | 设备标签，标签个数最多为20个                                                               |
| workspace_id          | 否    | String                                                                                                                            | 工作空间ID，不填为主账号/子账号的默认工作空间                                                      |
| event_validity_period | 否    | Integer                                                                                                                           | 事件有效时间（单位：分钟）                                                                 |
   
 表6LogConfig 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| component     | 是    | String  | app：应用日志。 system：系统的日志                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| level         | 否    | String  | 系统级日志可配置为/error/warning/info/debug ; 不传会默认为info。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| rotate_num    | 否    | Integer | 日志rotate个数，默认5，hilens取值范围1-30，ief取值范围1-10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| rotate_period | 否    | String  | 日志rotate周期，可选项，只支持ief：daily monthly weekly yearly.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| size          | 否    | Integer | 应用日志文件大小限制，单位MB，默认50，取值范围10-1000。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| type          | 是    | String  | - LTS 将日志发送到云日志服务（Log Tank Service，简称LTS）   - local 本地日志    |
   
 表7TagObject 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                            |
|:---|:---|:---|:---|
| key   | 否    | String | 标签键，最大长度36个字符。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_"                                                 |
| value | 否    | String | 标签值，每个值最大长度43个字符，删除时如果value有值按照key/value删除，如果value没值，则按照key删除。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_" |
   
#### 响应参数
**状态码： 200**
表8响应Body参数 
| 参数      | 参数类型   | 描述                                                                                    |
|:---|:---|:---|
| id      | String | 设备ID                                                                                  |
| name    | String | 设备名称，只允许中文字符、英文字母、数字、下划线、中划线，最大长度64                                                   |
| package | String | 将设备配置和证书文件node.conf/certificate/private_key打成.tar.gz包后用base64编码的字符串。node.conf包含节点信息配置 |
   
#### 请求示例
注册设备到HiLens专业版控制台
```
POST https://{endpoint}/v3/{project_id}/ai-mgr/nodes?provider=hilens
{
  "node" : {
    "name" : "gg11112344",
    "description" : "",
    "tags" : [ ],
    "iam_user_id" : "19a1ef99f8ed4d4ab38be5085adaf84a",
    "batch" : 1,
    "enable_npu" : false,
    "enable_gpu" : false,
    "log_configs" : [ {
      "size" : "50",
      "rotate_num" : 10,
      "type" : "LTS",
      "component" : "app"
    } ]
  }
}
```
#### 响应示例
**状态码： 200**
请求成功
```
{
  "name" : "hc_node_1",
  "id" : "hilens-ff2e579f627549cda552a0b2098ef025",
  "package" : "H4sIAAAAAPOV6......bEnACAAAA=="
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 请求成功     |
| 201 | 创建成功     |
| 401 | 认证不通过    |
| 403 | 拒绝执行请求   |
| 404 | 请求的资源不存在 |
| 500 | 服务器内部错误  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-hilens/ErrorCode.html)。
