
# 注册FPGA镜像
#### 功能介绍
本接口用于注册FPGA镜像。
FPGA镜像是指用户开发的FPGA逻辑文件，通常也称为AEI（Accelerated Engine Image）。在注册FPGA镜像时，该逻辑文件需要存放在用户的OBS（Object Storage Service）桶中。
![](https://support.huaweicloud.com/api-ecs/public_sys-resources/note_3.0-zh-cn.png)
目前仅"华北-北京一、华东-上海二、华南-广州"区域支持，其他区域暂未支持。
#### URI
POST /v1/{project_id}/cloudservers/fpga_image
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                        |
|:---|:---|:---|
| project_id | 是    | 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数         | 参数类型   | 是否必选 | 描述          |
|:---|:---|:---|:---|
| fpga_image | Object | 是    | FPGA镜像信息详情。 |
   
表3fpga_image字段结构说明 
| 参数          | 参数类型   | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| location    | String | 是    | FPGA逻辑文件在OBS桶中的路径，格式为"桶名:文件名"，例如"obs-fpga:fpga.bin"。 桶名的命名规则满足OBS的约束： - 由英文小写字母、数字以及特殊字符"."、"-"组成。  - 只能以数字或字母开头和结尾。  - 长度3～63个字符。  - 不能是ip地址。  - 不能包含".."、".-" 、"-."字符串。   文件名的命名规则如下： - 由英文大、小写字母，数字，中划线，下划线，斜杠，英文句号组成。  - 必须以".bin"或"xclbin"结尾。  - 长度4～64个字符。   |
| name        | String | 是    | FPGA镜像的名称。 取值范围： - 只能由英文字母、数字、下划线、中划线组成。  - 长度1\~64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| metadata    | Object | 是    | FPGA镜像的元数据信息，要求是合法的JSON（JavaScript Object Notation）对象类型。 metadata在进行JSON序列化后的字符个数不能超过1024。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description | String | 否    | FPGA镜像的描述信息，由中文汉字、中文句号、中文逗号、英文大小写字母、数字、中划线、下划线、英文句号、英文逗号、空格组成，长度0到255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应消息
响应参数如[表4]所示。
 表4响应参数 
| 参数         | 参数类型   | 描述          |
|:---|:---|:---|
| fpga_image | Object | FPGA镜像信息详情。 |
   
表5fpga_image字段结构说明 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| id     | String | FPGA镜像的ID。                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| status | String | FPGA镜像状态。取值如下： - saving：表示FPGA镜像正在上传文件到后端存储。  - deleting：表示FPGA镜像正在删除中。  - error：表示FPGA镜像创建失败。  - active：表示FPGA镜像可以正常使用。   |
   
#### 请求示例
```
POST https://{endpoint}/v1/{project_id}/cloudservers/fpga_image
```
```
{ 
  "fpga_image": { 
    "location": "obs-fpga:fpga.bin", 
    "name": "fpga-image-test", 
    "description": "fpga description", 
    "metadata": { 
      "shell_type": "OCL", 
      "shell_version": "1.0" 
    } 
  } 
}
```
#### 响应示例
```
{
  "fpga_image": {
    "status": "saving",
    "id": "4010a32c5c62bad9015c62dc2290002b"
  }
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
