更新时间:2024-11-22 GMT+08:00

查询集群实例信息

功能介绍

查询集群实例信息。

调用方法

请参见如何调用API

URI

GET /v1.1/{project_id}/instances/{instance_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参见项目ID和账号ID

instance_id

String

实例ID,获取方法请参见获取集群列表

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token,使用Token认证时必选。通过调用IAM服务的“获取用户Token”接口获取响应消息头中X-Subject-Token的值。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

instance

CdmQueryClusterInstanceDetail object

实例信息。

表4 CdmQueryClusterInstanceDetail

参数

参数类型

描述

configurationStatus

String

节点配置状态:

  • In-Sync:配置已同步。

  • Applying:配置中。

  • Sync-Failure:配置失败。

paramsGroupId

String

配置ID。

type

String

配置服务类型,这里为cdm。

role

String

实例模式,这里为Standalone。

subnetid

String

实例的子网ID。

securegroup

String

安全组ID。

vpc

String

实例的VPC ID。

azcode

String

可用区名称。

region

String

局点名称。

created

String

实例创建时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ。

updated

String

实例更新时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ。

name

String

实例名称。

id

String

实例ID。

flavor

flavor object

节点的虚拟机规格,请参见flavor参数说明。

datastore

Datastore object

集群信息,请参见datastore参数说明。

dbuser

String

数据库用户,这里为cdm。

payModel

Integer

付费模式:

  • 0:按需。

  • 1:包周期。

publicIp

String

集群绑定的公网地址。

trafficIp

String

集群的内网地址。

trafficIpv6

String

集群的内网IPv6地址。

cluster_id

String

集群ID。

表5 flavor

参数

参数类型

描述

id

String

节点虚拟机的规格ID。

links

Array of ClusterLinks objects

链接信息。

表7 Datastore

参数

参数类型

描述

type

String

类型,一般为cdm。

version

String

集群版本。

请求示例

GET /v1.1/1551c7f6c808414d8e9f3c514a170f2e/instances/2c529048-ed06-4bcb-a48e-bf1800e1f496

响应示例

状态码: 200

请求成功。

{
  "instance" : {
    "configurationStatus" : "In-Sync",
    "paramsGroupId" : "26084bb9-e74b-47d5-8be6-c0fbee9449d5",
    "type" : "cdm",
    "subnetid" : "9e4049b5-19a6-48fe-b5a2-2857c842fe56",
    "securegroup" : "560a3642-ddb1-4e93-a4bb-e484ae975127",
    "vpc" : "f35aee01-c4a3-47c1-8d92-9df430537de4",
    "azcode" : "xxx-xxx-xxxa",
    "region" : "xxx-xxx-xxx",
    "created" : "2018-09-05T08:38:25",
    "updated" : "2018-09-05T08:38:25",
    "name" : "test-cdm-dn-1-1",
    "id" : "2c529048-ed06-4bcb-a48e-bf1800e1f496",
    "flavor" : {
      "id" : "a79fd5ae-1833-448a-88e8-3ea2b913e1f6",
      "links" : [ ]
    },
    "datastore" : {
      "type" : "cdm",
      "version" : "2.9.3.300"
    },
    "dbuser" : "cdm",
    "payModel" : 0,
    "publicIp" : "49.xx.xx.10",
    "trafficIp" : "192.168.0.128",
    "trafficIpv6" : null,
    "cluster_id" : "2d9ac57e-3ebf-4557-86d5-89ae750ff61c"
  }
}

SDK代码示例

SDK代码示例如下。

 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 ShowInstanceDetailSolution {

    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();
        ShowInstanceDetailRequest request = new ShowInstanceDetailRequest();
        request.withInstanceId("{instance_id}");
        try {
            ShowInstanceDetailResponse response = client.showInstanceDetail(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());
        }
    }
}
 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
# coding: utf-8

import os
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 = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["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 = ShowInstanceDetailRequest()
        request.instance_id = "{instance_id}"
        response = client.show_instance_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)
 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.ShowInstanceDetailRequest{}
	request.InstanceId = "{instance_id}"
	response, err := client.ShowInstanceDetail(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

请求成功。

400

请求错误。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误,具体返回错误码请参考错误码。

503

服务不可用。

错误码

请参见错误码