
# 下载联邦kubeconfig - DownloadFederationKubeconfig
#### 功能介绍
舰队开通联邦并且创建网络连接之后，可以使用此接口下载联邦的kubeconfig
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ucs/ucs_api_0026.html)。
#### URI
POST /v1/clustergroups/{clustergroupid}/kubeconfig
表1路径参数 
| 参数             | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| clustergroupid | 是    | String | 舰队id |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 身份认证信息，调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值 |
| Content-Type | 是    | String | 消息体的类型（格式），仅支持application/json                                  |
   
表3请求Body参数 
| 参数       | 是否必选 | 参数类型    | 描述                |
|:---|:---|:---|:---|
| duration | 是    | Integer | kubeconfig中证书的有效期 |
   
#### 响应参数
**状态码：201**
表4响应Body参数 
| 参数              | 参数类型                                                                                    | 描述                         |
|:---|:---|:---|
| kind            | String                                                                                  | API类型，固定值"Config"，该值不可修改   |
| apiVersion      | String                                                                                  | API版本，固定值"v1"，该值不可修改       |
| clusters        | Array of [NamedCluster] objects   | 集群列表                       |
| users           | Array of [NamedAuthInfo] objects | 存放了指定用户的一些证书信息和ClientKey信息 |
| contexts        | Array of [NamedContext] objects   | 上下文列表                      |
| current-context | String                                                                                  | 当前上下文                      |
   
 表5NamedCluster 
| 参数      | 参数类型                                                                      | 描述   |
|:---|:---|:---|
| name    | String                                                                    | 集群名称 |
| cluster | [ClusterCert] object | 集群信息 |
   
 表6ClusterCert 
| 参数                         | 参数类型    | 描述       |
|:---|:---|:---|
| server                     | String  | 服务器地址    |
| certificate-authority-data | String  | 证书授权数据   |
| insecure-skip-tls-verify   | Boolean | 不校验服务端证书 |
   
 表7NamedAuthInfo 
| 参数   | 参数类型                                                                | 描述                         |
|:---|:---|:---|
| name | String                                                              | 用户名                        |
| user | [AuthInfo] object | 存放了指定用户的一些证书信息和ClientKey信息 |
   
 表8AuthInfo 
| 参数                      | 参数类型   | 描述                     |
|:---|:---|:---|
| client-certificate-data | String | 客户端证书                  |
| client-key-data         | String | 包含来自TLS客户端密钥文件的PEM编码数据 |
| token                   | String | 身份验证令牌                 |
   
 表9NamedContext 
| 参数      | 参数类型                                                              | 描述     |
|:---|:---|:---|
| name    | String                                                            | 上下文的名称 |
| context | [Context] object | 上下文信息  |
   
 表10Context 
| 参数      | 参数类型   | 描述           |
|:---|:---|:---|
| cluster | String | 上下文cluster信息 |
| user    | String | 上下文user信息    |
   
#### 请求示例
下载联邦kubeconfig
```
POST https://ucs.myhuaweicloud.com/v1/clustergroups/{clustergroupid}/kubeconfig
{
  "duration" : 30
}
```
#### 响应示例
**状态码：201**
kubeconfig文件
```
{
  "kind" : "Config",
  "apiVersion" : "v1",
  "clusters" : [ {
    "name" : "cluster-demo",
    "cluster" : {
      "server" : "https://ip:port",
      "certificate-authority-data" : ""
    }
  } ],
  "users" : [ {
    "name" : "user",
    "user" : {
      "client-certificate-data" : "",
      "client-key-data" : "",
      "token" : ""
    }
  } ],
  "contexts" : [ {
    "name" : "demo",
    "context" : {
      "cluster" : "cluster-demo",
      "user" : "user"
    }
  } ],
  "current-context" : "demo"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 201 | kubeconfig文件 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ucs/ErrorCode.html)。
