
# 注册集群 - RegisterCluster
#### 功能介绍
集群注册接口。支持附着集群的注册和CCE导入集群的注册。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ucs/ucs_api_0026.html)。
#### URI
POST /v1/clusters
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 身份认证信息，调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值 |
| Content-Type | 是    | String | 消息体的类型（格式），仅支持application/json                                  |
   
表2请求Body参数 
| 参数         | 是否必选 | 参数类型                                                  | 描述                     |
|:---|:---|:---|:---|
| kind       | 是    | String                                                | 资源类型。注册集群必须填写为Cluster。 |
| apiVersion | 是    | String                                                | API版本信息。现版本仅为v1。       |
| metadata   | 是    | [metadata] object | 集群元数据信息。               |
| spec       | 是    | [spec] object         | 集群spec信息。              |
   
 表3metadata 
| 参数          | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                |
|:---|:---|:---|:---|
| uid         | 否    | String               | 集群ID信息，仅在注册CCE导入集群时使用，其他类型集群无需填写。                                                                                                                                                                 |
| name        | 是    | String               | CCE集群填写CCE集群名称，其他类型集群自定义                                                                                                                                                                          |
| labels      | 否    | Map\<String,String\> | 标签信息。可为空，不为空时，必须满足kurbenetes label规范,最多可支持100个标签。                                                                                                                                                 |
| annotations | 否    | Map\<String,String\> | 集群annotations信息。 附着集群必填一个kubeconfig字段，取值是kubeconfig文件的内容。kubeconfig文件获取方法请参见[获取KubeConfig文件](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0138.html)。 |
   
 表4spec 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| clusterGroupID | 否    | String | 容器舰队ID信息。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| category       | 是    | String | 集群类别，填写需要与provider和type对应，具体请参见[集群类别与类型说明](https://support.huaweicloud.com/api-ucs/ucs_api_0024.html)。                                                                                                                                                                                                                                                                                                                      |
| type           | 是    | String | 集群类型，填写需要与category和provider对应，具体请参见[集群类别与类型说明](https://support.huaweicloud.com/api-ucs/ucs_api_0024.html)。                                                                                                                                                                                                                                                                                                                  |
| provider       | 是    | String | 供应商，填写需要与category和type对应，具体请参见[集群类别与类型说明](https://support.huaweicloud.com/api-ucs/ucs_api_0024.html)。                                                                                                                                                                                                                                                                                                                       |
| country        | 是    | String | 所在国家代码，具体代码请参见[国家码](https://support.huaweicloud.com/api-ucs/ucs_api_0022.html)。                                                                                                                                                                                                                                                                                                                                             |
| city           | 是    | String | 所在城市代码，具体代码请参见[城市码](https://support.huaweicloud.com/api-ucs/ucs_api_0023.html)。仅支持中国城市，其他国家无需填写。                                                                                                                                                                                                                                                                                                                            |
| region         | 否    | String | 地域信息。仅在CCE导入集群注册时使用。可通过[获取未注册到UCS的CCE集群](https://support.huaweicloud.com/api-ucs/ListManagedClusters.html)接口的region字段获取。                                                                                                                                                                                                                                                                                                    |
| projectID      | 否    | String | 项目ID信息。仅在CCE导入集群注册时使用。可通过[获取未注册到UCS的CCE集群](https://support.huaweicloud.com/api-ucs/ListManagedClusters.html)接口的projectID字段获取。                                                                                                                                                                                                                                                                                               |
| manageType     | 是    | String | 集群管理类型信息。 取值如下： - grouped：在舰队中纳管的集群   - discrete：未加入舰队的集群    |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数  | 参数类型   | 描述   |
|:---|:---|:---|
| uid | String | 集群ID |
   
**状态码：400**
表6响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：403**
表7响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：404**
表8响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：409**
表9响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：500**
表10响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
#### 请求示例
- 注册华为云CCE集群
  ```
  POST https://ucs.myhuaweicloud.com/v1/clusters
  {
    "kind" : "Cluster",
    "apiVersion" : "v1",
    "metadata" : {
      "name" : "cce-cluster",
      "uid" : "44052cdd-8cd2-11ee-abd1-0255ac1001bd"
    },
    "spec" : {
      "region" : "cn-north-4",
      "category" : "self",
      "type" : "turbo",
      "projectID" : "05495693df80d3c92fa1c01795c2be02",
      "clusterGroupID" : "",
      "manageType" : "discrete",
      "city" : "110000",
      "country" : "CN",
      "provider" : {
        "CCE" : "cce"
      }
    }
  }
  ```
  
- 注册附着集群
  ```
  POST https://ucs.myhuaweicloud.com/v1/clusters
  {
    "kind" : "Cluster",
    "apiVersion" : "v1",
    "metadata" : {
      "name" : "ack-cluster",
      "annotations" : {
        "kubeconfig" : "{\"kind\":\"Config\",\"apiVersion\":\"v1\",\"preferences\":{},\"clusters\":[{\"name\":\"internalCluster\",\"cluster\":{\"server\":\"https://kubernetes.default.svc.cluster.local:443\",\"insecure-skip-tls-verify\":true}}],\"users\":[{\"name\":\"ucs-user\",\"user\":{\"token\":\"token-string\"}}],\"contexts\":[{\"name\":\"internal\",\"context\":{\"cluster\":\"internalCluster\",\"user\":\"ucs-user\"}}],\"current-context\":\"internal\"}"
      },
      "labels" : { }
    },
    "spec" : {
      "category" : "attachedcluster",
      "clusterGroupID" : "",
      "manageType" : "discrete",
      "city" : "110000",
      "country" : "CN",
      "provider" : {
        "ALI" : "aliyun",
        "TENCENT" : "tencentcloud",
        "AWS" : "aws",
        "GOOGLE" : "googlecloud",
        "AZURE" : "azure",
        "OPENSHIFT" : "openshift",
        "HUAWEISTACK" : "huaweicloudstack",
        "HUAWEI" : "huaweicloud",
        "PRIVATEK8S" : "privatek8s",
        "OTHER" : "other",
        "FLEXIBLEENGINE" : "FlexibleEngine",
        "FLEXIBLEENGINESTACK" : "FlexibleEngineStack",
        "OPENTELEKOMCLOUD" : "OpenTelekomCloud",
        "OPENTELEKOMCLOUDSTACK" : "OpenTelekomCloudStack",
        "TIANYI" : "ctcloud",
        "MOBILE" : "cmcloud"
      },
      "type" : "ack"
    }
  }
  ```
  
 
#### 响应示例
**状态码：201**
注册集群成功的返回信息，返回注册集群的Cluster ID
```
{
  "uid" : "b0d1ecb5-7947-11ee-9467-0255ac1001bf"
}
```
#### 状态码
| 状态码 | 描述                            |
|:---|:---|
| 201 | 注册集群成功的返回信息，返回注册集群的Cluster ID |
| 400 | 客户端请求错误，服务器无法执行请求             |
| 403 | 服务器拒绝执行请求                     |
| 404 | 资源不存在                         |
| 409 | 请求存在冲突                        |
| 500 | 服务器内部错误                       |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ucs/ErrorCode.html)。
