# 查询逻辑集群列表 - ListLogicalClusters
#### 功能介绍
查询逻辑集群列表。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dws/dws_02_0062.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dws/dws_02_0056.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                            | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 别名                     | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dws:cluster:listLogicalCluster | List | cluster \*  | - g:ResourceTag/\<tag-key\>   - g:EnterpriseProjectId    | dws:logicalCluster:get | -      |
     
  
 
#### URI
GET /v2/{project_id}/clusters/{cluster_id}/logical-clusters
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-dws/dws_02_0011.html)。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                |
| cluster_id | 是    | String | **参数解释**： 集群ID。获取方法请参见[获取集群ID](https://support.huaweicloud.com/api-dws/dws_02_00068.html)。 **约束限制**： 必须是有效的dws集群ID。 **取值范围**： 36位UUID。 **默认取值**： 不涉及。 |
   
表2Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| offset | 否    | Integer | **参数解释**： 分页偏移量，从0开始，页数减1。 **约束限制**： 不涉及。 **取值范围**： 大于等于0。 **默认取值**： 0 |
| limit  | 否    | Integer | **参数解释**： 分页单页大小。 **约束限制**： 不涉及。 **取值范围**： 大于0。 **默认取值**： 10           |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数               | 参数类型                                                                                                                           | 描述                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| logical_clusters | Array of [LogicalClusterInfo] objects | **参数解释**： 逻辑集群列表信息。 **取值范围**： 不涉及。                                |
| count            | Integer                                                                                                                        | **参数解释**： 逻辑集群总数量。 **取值范围**： 不涉及。                                 |
| add_enable       | Boolean                                                                                                                        | **参数解释**： 作为互斥结果，如果集群内有其他运维操作，该值为false，此时不能添加逻辑集群。 **取值范围**： 不涉及。 |
   
 表4LogicalClusterInfo 
| 参数                    | 参数类型                                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| logical_cluster_id    | String                                                                                                           | **参数解释**： 逻辑集群ID。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| logical_cluster_name  | String                                                                                                           | **参数解释**： 逻辑集群名称。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| cluster_rings         | Array of [ClusterRing] objects | **参数解释**： 逻辑集群主机信息。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| status                | String                                                                                                           | **参数解释**： 逻辑集群状态。 **取值范围**： - Failed：失败。   - Normal: 正常。   - Unavailable：不可用。   - Redistributing：重分布中。   - Redistribute_failed：重分布失败。   - Deleted：已删除。    |
| first_logical_cluster | Boolean                                                                                                          | **参数解释**： 是否为第一个逻辑集群。历史版本中第1个创建或者转换的逻辑集群不能删除，因为其中包含了一些系统视图。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| action_info           | [ActionInfo] object             | **参数解释**： 逻辑集群任务信息。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| edit_enable           | Boolean                                                                                                          | **参数解释**： 是否允许编辑。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| restart_enable        | Boolean                                                                                                          | **参数解释**： 是否允许重启。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| delete_enable         | Boolean                                                                                                          | **参数解释**： 是否允许删除。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| add_to_elastic        | Boolean                                                                                                          | **参数解释**： 是否允许弹性伸缩。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| mode                  | String                                                                                                           | **参数解释**： 逻辑集群模式。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| waiting_for_killing   | Integer                                                                                                          | **参数解释**： 作业等待时间。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| cluster_type          | String                                                                                                           | **参数解释**： 逻辑集群类型。 **取值范围**： - createFromPlan：计划弹性。   - createFromElastic：自动弹性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| node_list             | Array of [NodeVo] objects           | **参数解释**： 逻辑集群包含的节点信息列表。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 表5ClusterRing 
| 参数                         | 参数类型                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| ring_hosts                 | Array of [RingHost] objects | **参数解释**： 集群主机信息。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| un_shrinkable_cluster_ring | Boolean                                                                                                    | **参数解释**： 是否不可缩容。 **取值范围**： - true：不可缩容。   - false：可缩容。    |
   
 表6RingHost 
| 参数        | 参数类型    | 描述                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| host_name | String  | **参数解释**： 主机名称。 **取值范围**： 不涉及。    |
| back_ip   | String  | **参数解释**： 后端IP地址。 **取值范围**： 不涉及。  |
| cpu_cores | Integer | **参数解释**： 主机CPU核数。 **取值范围**： 不涉及。 |
| memory    | Double  | **参数解释**： 主机内存。 **取值范围**： 不涉及。    |
| disk_size | Double  | **参数解释**： 主机磁盘大小。 **取值范围**： 不涉及。  |
   
 表7ActionInfo 
| 参数          | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| action_name | String  | **参数解释**： 操作名称。 **取值范围**： Create：创建逻辑集群 Expand：扩容逻辑集群 Restart：重启逻辑集群 Delete：删除逻辑集群 Shrink：缩容逻辑集群 Grow：扩容逻辑集群 |
| progress    | Integer | **参数解释**： 操作进度，默认10。 **取值范围**： 0\~100                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| completed   | Boolean | **参数解释**： 操作是否完成。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| start_time  | String  | **参数解释**： 操作开始时间。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| end_time    | String  | **参数解释**： 操作结束时间。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| result      | String  | **参数解释**： 操作结果。默认为空字符串。 **取值范围**： success：成功。 failed：失败。                                                                                                                                                                                                                                                                                                                                                                         |
| logs        | String  | **参数解释**： 操作日志信息。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表8NodeVo 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| id        | String | **参数解释**： 节点实例ID。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| name      | String | **参数解释**： 节点实例名称。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| status    | String | **参数解释**： 节点状态。 **取值范围**： - ACTIVE：正常。   - FAILED：不可用。    |
| inst_type | String | **参数解释**： 节点类型。 **取值范围**： - cn：协调节点。   - dn：数据节点。         |
   
#### 请求示例
查询逻辑集群列表。
```
GET https://{Endpoint}/v2/9b06d044ea4f49f1a58b2bed2b0084bd/clusters/9b7ff56b-47b3-4d00-a1fd-4c023d34404b/logical-clusters
```
#### 响应示例
**状态码：200**
```
{
  "logical_clusters" : [ {
    "logical_cluster_id" : "fa9d69a0-3814-4fb9-98df-d9f4f5ef53ca",
    "logical_cluster_name" : "elastic_group",
    "cluster_rings" : [ {
      "ring_hosts" : [ {
        "host_name" : "host-172-16-20-246",
        "back_ip" : "172.16.73.90",
        "cpu_cores" : 8,
        "memory" : 32.0,
        "disk_size" : 800.0
      }, {
        "host_name" : "host-172-16-4-26",
        "back_ip" : "172.16.123.5",
        "cpu_cores" : 8,
        "memory" : 32.0,
        "disk_size" : 800.0
      }, {
        "host_name" : "host-172-16-43-90",
        "back_ip" : "172.16.92.175",
        "cpu_cores" : 8,
        "memory" : 32.0,
        "disk_size" : 800.0
      } ],
      "un_shrinkable_cluster_ring" : true
    } ],
    "status" : "Normal",
    "first_logical_cluster" : false,
    "action_info" : {
      "progress" : 100,
      "completed" : true,
      "result" : "success",
      "logs" : null,
      "action_name" : "Grow",
      "start_time" : "2023-06-05 01:58:43",
      "end_time" : "2023-06-05 02:11:50"
    },
    "edit_enable" : true,
    "restart_enable" : true,
    "delete_enable" : false,
    "add_to_elastic" : true,
    "mode" : null,
    "cluster_type" : null
  } ],
  "count" : 1,
  "add_enable" : true
}
```
#### 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.dws.v2.region.DwsRegion;
  import com.huaweicloud.sdk.dws.v2.*;
  import com.huaweicloud.sdk.dws.v2.model.*;
  public class ListLogicalClustersSolution {
      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);
          DwsClient client = DwsClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(DwsRegion.valueOf("<YOUR REGION>"))
                  .build();
          ListLogicalClustersRequest request = new ListLogicalClustersRequest();
          request.withClusterId("{cluster_id}");
          try {
              ListLogicalClustersResponse response = client.listLogicalClusters(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 huaweicloudsdkdws.v2.region.dws_region import DwsRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkdws.v2 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 = DwsClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(DwsRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ListLogicalClustersRequest()
          request.cluster_id = "{cluster_id}"
          response = client.list_logical_clusters(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"
      dws "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/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, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := dws.DwsClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := dws.NewDwsClient(hcClient)
      request := &model.ListLogicalClustersRequest{}
  request.ClusterId = "{cluster_id}"
  response, err := client.ListLogicalClusters(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DWS/sdk?api=ListLogicalClusters)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 查询集群列表成功。 |
| 400 | 请求错误。     |
| 401 | 鉴权失败。     |
| 403 | 没有操作权限。   |
| 404 | 找不到资源。    |
| 500 | 服务内部错误。   |
| 503 | 服务不可用。    |
   
