Updated on 2024-04-29 GMT+08:00

Querying Cluster Details

Function

This API is used to query cluster details.

Calling Method

For details, see Calling APIs.

URI

GET /v1.1/{project_id}/clusters/{cluster_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Project ID and Account ID.

cluster_id

Yes

String

Cluster ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

publicEndpoint

String

EIP bound to the cluster

instances

Array of ClusterDetailInstance objects

Cluster node information. For details, see the descriptions of instances parameters.

security_group_id

String

Security group ID

subnet_id

String

Subnet ID

vpc_id

String

VPC ID

customerConfig

CustomerConfig object

User configuration

datastore

Datastore object

CDM information

isAutoOff

Boolean

Auto shutdown

publicEndpointDomainName

String

Domain name for the EIP bound to the cluster

bakExpectedStartTime

String

Start time

bakKeepDay

Integer

Retention duration

maintainWindow

maintainWindow object

Maintenance window

recentEvent

Integer

Number of events

flavorName

String

Flavor name

azName

String

AZ name

endpointDomainName

String

Peer domain name

publicEndpointStatus

publicEndpointStatus object

EIP status

isScheduleBootOff

Boolean

Whether to enable scheduled startup/shutdown. The scheduled startup/shutdown and auto shutdown functions cannot be enabled at the same time.

namespace

String

Namespace

eipId

String

EIP ID

failedReasons

FailedReasons object

Failure cause. If this parameter is left empty, the cluster is in normal state.

dbuser

String

Database user

links

Array of ClusterLinks objects

Cluster link information

clusterMode

String

Cluster mode: sharding

task

ClusterTask object

Task information

created

String

Cluster creation time in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

statusDetail

String

Cluster status: normal

config_status

String

Cluster configuration status

  • In-Sync: The configuration has been synchronized.

  • Applying: The configuration is in progress.

  • Sync-Failure: The configuration fails.

actionProgress

ActionProgress object

Cluster operation progress, which consists of a key and a value. The key indicates an ongoing task, and the value indicates the progress of the ongoing task. An example is "action_progress":{"SNAPSHOTTING":"16%"}.

name

String

Cluster name

id

String

Cluster ID

isFrozen

String

Whether the cluster is frozen. The value can be 0 (not frozen) or 1 (frozen).

actions

Array of strings

Cluster configuration status. Options: - In-Sync: The cluster configuration has been synchronized. - Applying: The cluster is being configured. - Sync-Failure: The cluster configuration failed.

updated

String

Cluster update time in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

status

String

Cluster status

  • 100: creating

  • 200: normal

  • 300: failed

  • 303: failed to be created

  • 800: frozen

  • 900: stopped

  • 910: stopping

  • 920: starting

Table 4 ClusterDetailInstance

Parameter

Type

Description

flavor

flavor object

VM flavor of a node. For details, see the descriptions of flavor parameters.

volume

volume object

Disk information of a node. For details, see the descriptions of volume parameters.

status

String

Node status

  • 100: creating

  • 200: normal

  • 300: failed

  • 303: failed to be created

  • 400: deleted

  • 800: frozen

actions

Array of strings

Node operation status

  • REBOOTING: restarting

  • RESTORING: restoring

  • REBOOT_FAILURE: failed to restart

type

String

Node type. Currently, only cdm is available.

id

String

Node VM ID

name

String

Name of the VM on the node

isFrozen

String

Whether the node is frozen. The value can be 0 (not frozen) or 1 (frozen).

components

String

Component

config_status

String

Node configuration status. The value is null when the cluster list is queried.

  • In-Sync: The configuration has been synchronized.

  • Applying: The configuration is in progress.

  • Sync-Failure: The configuration fails.

role

String

Instance role

group

String

Group

links

Array of ClusterLinks objects

Link information

paramsGroupId

String

Group ID

publicIp

String

Public IP address

manageIp

String

Management IP address

trafficIp

String

Traffic IP address

shard_id

String

Slice ID

manage_fix_ip

String

Management fix IP address

private_ip

String

Private IP address

internal_ip

String

Internal IP address

resource

Array of Resource objects

Resource information (null is returned for querying the cluster list)

Table 5 flavor

Parameter

Type

Description

id

String

VM flavor ID

links

Array of ClusterLinks objects

Link information

Table 6 volume

Parameter

Type

Description

type

String

Type of disks on the node. Only local disks are supported.

size

Long

Size of the disk on the node (GB)

Table 7 Resource

Parameter

Type

Description

resource_id

String

Resource ID

resource_type

String

Resource type: server

Table 8 CustomerConfig

Parameter

Type

Description

failureRemind

String

Failure notification

clusterName

String

Cluster type

serviceProvider

String

Service provisioning

localDisk

String

Whether the disk is a local disk

ssl

String

Whether to enable SSL

createFrom

String

Source

resourceId

String

Resource ID

flavorType

String

Flavor type

workSpaceId

String

Workspace ID

trial

String

Trial

Table 9 Datastore

Parameter

Type

Description

type

String

Type. Generally, the value is cdm.

version

String

Cluster version

Table 10 maintainWindow

Parameter

Type

Description

day

String

Day of a week

startTime

String

Start time

endTime

String

End time

Table 11 publicEndpointStatus

Parameter

Type

Description

status

String

Status

errorMessage

String

Error message

Table 12 FailedReasons

Parameter

Type

Description

CREATE_FAILED

CREATE_FAILED object

Cause of the cluster creation failure

Table 13 CREATE_FAILED

Parameter

Type

Description

errorCode

String

Error code

errorMsg

String

Failure cause

Table 15 ClusterTask

Parameter

Type

Description

description

String

Task description

id

String

Task ID

name

String

Task name

Table 16 ActionProgress

Parameter

Type

Description

CREATING

String

Cluster creation progress, for example, 29%

GROWING

String

Cluster expansion progress, for example, 29%

RESTORING

String

Cluster restoration progress, for example, 29%

SNAPSHOTTING

String

Cluster snapshotting progress, for example, 29%

REPAIRING

String

Cluster repairing progress, for example, 29%

Example Requests

GET /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb

Example Responses

Status code: 200

ok

{
  "publicEndpoint" : "49.xx.xx.10",
  "instances" : [ {
    "flavor" : {
      "id" : "fb8fe666-6734-4b11-bc6c-43d11db3c745"
    },
    "volume" : {
      "size" : "100",
      "type" : "LOCAL_DISK"
    },
    "name" : "cdm-c018",
    "id" : "635dce67-3df8-4756-b4c7-90e45e687367",
    "isFrozen" : "0",
    "type" : "cdm",
    "actions" : "REBOOTING",
    "config_status" : "In-Sync",
    "status" : "200"
  } ],
  "created" : "2018-09-05T08:38:25",
  "statusDetail" : "Normal",
  "actionProgress" : { },
  "name" : "cdm-c018",
  "id" : "bae65496-643e-47ca-84af-948672de7eeb",
  "isFrozen" : "0",
  "actions" : "REBOOTING",
  "updated" : "2018-09-05T08:38:25",
  "status" : "200"
}

SDK Sample Code

The SDK sample code is as follows.

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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.cdm.v1.region.cdmRegion;
import com.huaweicloud.sdk.cdm.v1.*;
import com.huaweicloud.sdk.cdm.v1.model.*;


public class ShowClusterDetailSolution {

    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);

        cdmClient client = cdmClient.newBuilder()
                .withCredential(auth)
                .withRegion(cdmRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowClusterDetailRequest request = new ShowClusterDetailRequest();
        request.withClusterId("{cluster_id}");
        try {
            ShowClusterDetailResponse response = client.showClusterDetail(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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcdm.v1.region.cdm_region import cdmRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcdm.v1 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 = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId) \

    client = cdmClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(cdmRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowClusterDetailRequest()
        request.cluster_id = "{cluster_id}"
        response = client.show_cluster_detail(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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cdm "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdm/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdm/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cdm/v1/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 := cdm.NewcdmClient(
        cdm.cdmClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowClusterDetailRequest{}
	request.ClusterId = "{cluster_id}"
	response, err := client.ShowClusterDetail(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

ok

400

Request error.

401

Authentication failed.

403

You do not have required permissions to perform this operation.

404

The requested resource was not found.

500

An internal service error occurred. For details, see error codes.

503

Service unavailable.

Error Codes

See Error Codes.