
# 获取集群升级前检查任务详情列表 - ListAutopilotPreCheckTasks
#### 功能介绍
获取集群升级前检查任务详情列表
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cce-autopilot/cce_02_0099.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cce-autopilot/cce_02_0327.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                    | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                               | 别名                                                                                                                                                           | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | cce:cluster:getCluster | Read | cluster \*  | - g:ResourceTag/\<tag-key\>   - g:EnterpriseProjectId    | - cce:cluster:get   | -      |
     
  
 
#### URI
GET /autopilot/v3/projects/{project_id}/clusters/{cluster_id}/operation/precheck/tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，获取方式请参见[如何获取接口URI中参数](https://support.huaweicloud.com/api-cce-autopilot/cce_02_0271.html)。 **约束限制：** 不涉及 **取值范围：** 账号的项目ID **默认取值：** 不涉及 |
| cluster_id | 是    | String | **参数解释：** 集群ID，获取方式请参见[如何获取接口URI中参数](https://support.huaweicloud.com/api-cce-autopilot/cce_02_0271.html)。 **约束限制：** 不涉及 **取值范围：** 集群ID **默认取值：** 不涉及    |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数         | 参数类型                                                                                              | 描述                            |
|:---|:---|:---|
| apiVersion | String                                                                                            | api版本，默认为v3                   |
| kind       | String                                                                                            | 类型                            |
| metadata   | [Metadata] object                                 | 基本信息，为集合类的元素类型，包含一组由不同名称定义的属性 |
| items      | Array of [PrecheckClusterTask] objects | 集群检查任务列表                      |
   
 表3Metadata 
| 参数                | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| uid               | String               | **参数解释**： 唯一id标识 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                  |
| name              | String               | **参数解释**： 资源名称 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                               |
| labels            | Map\<String,String\> | **参数解释**： 资源标签，key/value对格式，接口保留字段，填写不会生效 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| annotations       | Map\<String,String\> | **参数解释**： 资源注解，由key/value组成 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                |
| updateTimestamp   | String               | **参数解释**： 更新时间 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                  |
| creationTimestamp | String               | **参数解释**： 创建时间 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                             |
   
 表4PrecheckClusterTask 
| 参数         | 参数类型                                                                                                  | 描述                   |
|:---|:---|:---|
| apiVersion | String                                                                                                | api版本，默认为v3          |
| kind       | String                                                                                                | 资源类型，默认为PreCheckTask |
| metadata   | [PrecheckTaskMetadata] object             | 升级前检查任务元数据信息         |
| spec       | [PrecheckCluserResponseSpec] object | 升级前检查任务信息            |
| status     | [PrecheckStatus] object                         | 升级前检查任务状态            |
   
 表5PrecheckTaskMetadata 
| 参数                | 参数类型   | 描述     |
|:---|:---|:---|
| uid               | String | 任务ID   |
| creationTimestamp | String | 任务创建时间 |
| updateTimestamp   | String | 任务更新时间 |
   
 表6PrecheckCluserResponseSpec 
| 参数                   | 参数类型                                                                                                                | 描述        |
|:---|:---|:---|
| clusterID            | String                                                                                                              | 集群ID      |
| clusterVersion       | String                                                                                                              | 当前集群版本    |
| targetVersion        | String                                                                                                              | 升级目标版本    |
| skippedCheckItemList | Array of [skippedCheckItemListResponse] objects | 跳过检查的项目列表 |
   
 表7skippedCheckItemListResponse 
| 参数               | 参数类型                                                                                              | 描述                              |
|:---|:---|:---|
| name             | String                                                                                            | 跳过检查的项目名称                       |
| resourceSelector | [resourceSelectorResponse] object | 资源标签选择器，仅节点检查涉及该参数，集群检查和插件检查不涉及 |
   
 表8resourceSelectorResponse 
| 参数       | 参数类型             | 描述    |
|:---|:---|:---|
| key      | String           | 标签键值  |
| values   | Array of strings | 标签值列表 |
| operator | String           | 标签值   |
   
 表9PrecheckStatus 
| 参数                 | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| phase              | String                                                                                | 状态，取值如下 - Init: 初始化   - Running 运行中   - Success 成功   - Failed 失败   - Error 错误    |
| expireTimeStamp    | String                                                                                | 检查结果过期时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| message            | String                                                                                | 信息，一般是执行错误的日志信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| clusterCheckStatus | [clusterCheckStatus] object | 集群限制检查状态                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| addonCheckStatus   | [addonCheckStatus] object     | 插件检查状态                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| nodeCheckStatus    | [nodeCheckStatus] object       | 节点检查状态                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表10clusterCheckStatus 
| 参数          | 参数类型                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| phase       | String                                                                                          | 状态，取值如下 - Init: 初始化   - Running 运行中   - Success 成功   - Failed 失败    |
| itemsStatus | Array of [PreCheckItemStatus] objects | 检查项状态集合                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表11addonCheckStatus 
| 参数          | 参数类型                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| phase       | String                                                                                          | 状态，取值如下 - Init: 初始化   - Running 运行中   - Success 成功   - Failed 失败    |
| itemsStatus | Array of [PreCheckItemStatus] objects | 检查项状态集合                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表12nodeCheckStatus 
| 参数              | 参数类型                                                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| phase           | String                                                                                    | 状态，取值如下 - Init: 初始化   - Running 运行中   - Success 成功   - Failed 失败    |
| nodeStageStatus | Array of [NodeStageStatus] objects | 节点检查状态                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表13NodeStageStatus 
| 参数          | 参数类型                                                                                            | 描述      |
|:---|:---|:---|
| nodeInfo    | [NodeInfo] object                               | 节点信息    |
| itemsStatus | Array of [PreCheckItemStatus] objects | 检查项状态集合 |
   
 表14NodeInfo 
| 参数       | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| uid      | String | 节点UID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| name     | String | 节点名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| status   | String | **参数解释**： 节点状态 **取值范围**： - Build：创建中，表示节点正处于创建过程中。   - Installing：安装中，表示节点正处于纳管过程中。   - Upgrading：升级中，表示节点正处于升级过程中。   - Active：运行中，表示节点处于正常状态。   - Abnormal：不可用，表示节点处于异常状态。   - Deleting： 删除中，表示节点正处于删除过程中。   - Error：错误，表示节点处于故障状态。    **默认取值**： 不涉及 |
| nodeType | String | **参数解释**： 节点类型 **取值范围**： - master：控制面节点   - node：数据面节点    **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表15PreCheckItemStatus 
| 参数         | 参数类型                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| name       | String                                                                | 检查项名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| kind       | String                                                                | 检查项类型，取值如下 - Exception: 异常类，需要用户解决   - Risk：风险类，用户确认后可选择跳过                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| group      | String                                                                | 检查项分组，取值如下 - LimitCheck: 集群限制检查   - MasterCheck：控制节点检查   - NodeCheck：用户节点检查   - AddonCheck：插件检查   - ExecuteException：检查流程错误    |
| level      | String                                                                | 检查项风险级别，取值如下 - Info: 提示级别   - Warning：风险级别   - Fatal：严重级别                                                                                                                                                                                                                                                                                                                                                                                              |
| phase      | String                                                                | 状态，取值如下 - Init: 初始化   - Running 运行中   - Success 成功   - Failed 失败                                                                                                                                                                                                                            |
| message    | String                                                                | 提示信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| riskSource | [riskSource] object | 风险项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| errorCodes | Array of strings                                                      | 错误码集合                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
 表16riskSource 
| 参数                 | 参数类型                                                                                            | 描述      |
|:---|:---|:---|
| configurationRisks | Array of [configurationRisks] objects | 配置风险项   |
| deprecatedAPIRisks | Array of [deprecatedAPIRisks] objects | 废弃API风险 |
| nodeRisks          | Array of [nodeRisks] objects                   | 节点风险    |
| addonRisks         | Array of [addonRisks] objects                 | 插件风险    |
   
 表17configurationRisks 
| 参数            | 参数类型   | 描述     |
|:---|:---|:---|
| package       | String | 组件名称   |
| sourceFile    | String | 涉及文件路径 |
| nodeMsg       | String | 节点信息   |
| field         | String | 参数值    |
| operation     | String | 修改操作类型 |
| originalValue | String | 原始值    |
| value         | String | 当前值    |
   
 表18deprecatedAPIRisks 
| 参数        | 参数类型   | 描述                                             |
|:---|:---|:---|
| url       | String | 请求路径，如/apis/policy/v1beta1/podsecuritypolicies |
| userAgent | String | 客户端信息                                          |
   
 表19nodeRisks 
| 参数     | 参数类型   | 描述     |
|:---|:---|:---|
| NodeID | String | 用户节点ID |
   
 表20addonRisks 
| 参数                | 参数类型   | 描述     |
|:---|:---|:---|
| addonTemplateName | String | 插件模板名称 |
| alias             | String | 插件别名   |
   
#### 请求示例
无
#### 响应示例
**状态码：200**
表示获取集群升级前检查任务详情列表成功。
```
{
  "kind" : "List",
  "apiVersion" : "v3",
  "metadata" : { },
  "items" : [ {
    "kind" : "PreCheckTask",
    "apiVersion" : "v3",
    "metadata" : {
      "uid" : "10b52d23-080a-4b7d-bf83-64b4687ca786",
      "creationTimestamp" : "2023-12-16 07:07:11.099111 +0000 UTC",
      "updateTimestamp" : "2023-12-16 07:09:10.425622 +0000 UTC"
    },
    "spec" : {
      "clusterVersion" : "v1.23.5-r0",
      "targetVersion" : "v1.23.11-r0"
    },
    "status" : {
      "phase" : "Failed",
      "clusterCheckStatus" : {
        "phase" : "Success",
        "itemsStatus" : [ {
          "name" : "DeprecatedApiCheck",
          "kind" : "Risk",
          "group" : "LimitCheck",
          "level" : "Info",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        }, {
          "name" : "BlackLimit",
          "kind" : "Exception",
          "group" : "LimitCheck",
          "level" : "Fatal",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        }, {
          "name" : "MasterSSH",
          "kind" : "Exception",
          "group" : "LimitCheck",
          "level" : "Fatal",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        }, {
          "name" : "ReleaseLimit",
          "kind" : "Exception",
          "group" : "LimitCheck",
          "level" : "Warning",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        }, {
          "name" : "ClusterNoArm",
          "kind" : "Exception",
          "group" : "LimitCheck",
          "level" : "Warning",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        } ]
      },
      "addonCheckStatus" : {
        "phase" : "Failed",
        "itemsStatus" : [ {
          "name" : "AddonLimit",
          "kind" : "Exception",
          "group" : "AddonCheck",
          "level" : "Warning",
          "phase" : "Failed",
          "message" : "addon [ CoreDNS ] status is abnormal, check and try again",
          "riskSource" : {
            "addonRisks" : [ {
              "addonTemplateName" : "coredns",
              "alias" : "CoreDNS"
            } ]
          }
        }, {
          "name" : "CoreDNSConfLimit",
          "kind" : "Exception",
          "group" : "AddonCheck",
          "level" : "Fatal",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        }, {
          "name" : "EverestLimitHungVersion",
          "kind" : "Risk",
          "group" : "AddonCheck",
          "level" : "Fatal",
          "phase" : "Success",
          "message" : "check item succeed",
          "riskSource" : { }
        } ]
      },
      "nodeCheckStatus" : {
        "phase" : "Success"
      }
    }
  } ]
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.cce.v3.region.CceRegion;
  import com.huaweicloud.sdk.cce.v3.*;
  import com.huaweicloud.sdk.cce.v3.model.*;
  public class ListAutopilotPreCheckTasksSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          CceClient client = CceClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(CceRegion.valueOf("<YOUR REGION>"))
                  .build();
          ListAutopilotPreCheckTasksRequest request = new ListAutopilotPreCheckTasksRequest();
          request.withClusterId("{cluster_id}");
          try {
              ListAutopilotPreCheckTasksResponse response = client.listAutopilotPreCheckTasks(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkcce.v3.region.cce_region import CceRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkcce.v3 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = CceClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(CceRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ListAutopilotPreCheckTasksRequest()
          request.cluster_id = "{cluster_id}"
          response = client.list_autopilot_pre_check_tasks(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          Build()
      client := cce.NewCceClient(
          cce.CceClientBuilder().
              WithRegion(region.ValueOf("<YOUR REGION>")).
              WithCredential(auth).
              Build())
      request := &model.ListAutopilotPreCheckTasksRequest{}
  request.ClusterId = "{cluster_id}"
  response, err := client.ListAutopilotPreCheckTasks(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CCE/sdk?api=ListAutopilotPreCheckTasks)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述                   |
|:---|:---|
| 200 | 表示获取集群升级前检查任务详情列表成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cce-autopilot/ErrorCode.html)。
