
# 创建仓库源 - CreateRepo
#### 功能介绍
创建仓库源
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ucs/ucs_api_0026.html)。
#### URI
POST /v1/configsets/repos
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 身份认证信息，调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值 |
   
表2请求Body参数 
| 参数                | 是否必选 | 参数类型                                                               | 描述        |
|:---|:---|:---|:---|
| name              | 否    | String                                                             | 仓库名称      |
| namespace         | 否    | String                                                             | 所在命名空间    |
| gitRepositorySpec | 否    | [GitRepositorySpec] object | Git仓库信息   |
| secretInfo        | 否    | [SecretInfo] object               | 访问仓库的认证信息 |
| clusterInfo       | 否    | [ClusterInfo] object             | 集群信息      |
   
 表3GitRepositorySpec 
| 参数        | 是否必选 | 参数类型                                                                     | 描述                            |
|:---|:---|:---|:---|
| url       | 否    | String                                                                   | Git仓库地址                       |
| ref       | 否    | [GitRepositoryRef] object         | 用于指定要解析和检出的Git引用              |
| secretRef | 否    | [LocalObjectReference] object | 包含认证信息的Secret                 |
| interval  | 否    | String                                                                   | 周期性检查仓库更新的时间间隔，格式如 "1m" 表示1分钟 |
| timeout   | 否    | String                                                                   | Git 操作（如克隆）的超时时间，默认60秒        |
   
 表4GitRepositoryRef 
| 参数     | 是否必选 | 参数类型   | 描述                                       |
|:---|:---|:---|:---|
| branch | 否    | String | 用于指定要检出的Git分支。如果未定义其他字段，则默认检出'master'分支。 |
   
 表5LocalObjectReference 
| 参数   | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| name | 否    | String | 被引用资源的名称 |
   
 表6SecretInfo 
| 参数       | 是否必选 | 参数类型   | 描述               |
|:---|:---|:---|:---|
| authMode | 否    | String | 使用的认证模式          |
| secret   | 否    | Object | 存储了实际认证凭据的Secret |
   
 表7ClusterInfo 
| 参数          | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| clusterID   | 否    | String | 集群ID |
| clusterName | 否    | String | 集群名称 |
| clusterPath | 否    | String | 集群路径 |
   
#### 响应参数
**状态码：201**
表8响应Body参数 
| 参数  | 参数类型   | 描述   |
|:---|:---|:---|
| uid | String | 仓库id |
   
**状态码：400**
表9响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：409**
表10响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：500**
表11响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
#### 请求示例
创建仓库源的信息
```
POST https://ucs.myhuaweicloud.com/v1/configsets/repos
{
  "name" : "config-0320-02",
  "namespace" : "default",
  "gitRepositorySpec" : {
    "url" : "https://github.com/GitHubxsy/podinfo",
    "interval" : "1m",
    "timeout" : "1m",
    "secretRef" : {
      "name" : "https-ca-credentials"
    },
    "ref" : {
      "branch" : "master"
    }
  },
  "clusterInfo" : {
    "clusterName" : "flux-wangzy-donot-del",
    "clusterID" : "ab03e878-c2f9-11ed-8651-0255ac1001b9",
    "clusterPath" : "kustomize"
  }
}
```
#### 响应示例
**状态码：201**
创建仓库源成功
```
{
  "uid" : "xxx-xxx-xxx"
}
```
#### 状态码
| 状态码 | 描述                |
|:---|:---|
| 201 | 创建仓库源成功           |
| 400 | 客户端请求错误，服务器无法执行请求 |
| 409 | 请求存在冲突            |
| 500 | 服务器内部错误           |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ucs/ErrorCode.html)。
