華為云計算 云知識 獲取集群訪問的地址ShowClusterEndpoints
獲取集群訪問的地址ShowClusterEndpoints

 

功能介紹

該API用于通過集群ID獲取集群訪問的地址,包括PrivateIP(HA集群返回VIP)與PublicIP

集群管理的URL格式為:https://Endpoint/uri。其中uri為資源路徑,也即API訪問的路徑。

調(diào)用方法

請參見如何調(diào)用API。

URI

GET /api/v3/projects/{project_id}/clusters/{cluster_id}/openapi

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

項目ID,獲取方式請參見如何獲取接口URI中參數(shù)

cluster_id

String

集群ID,獲取方式請參見如何獲取接口URI中參數(shù)。

請求參數(shù)

表2 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

Content-Type

String

消息體的類型(格式)

X-Auth-Token

String

調(diào)用接口的認證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。

響應參數(shù)

狀態(tài)碼: 200

表3 響應Body參數(shù)

參數(shù)

參數(shù)類型

描述

metadata

Metadata object

基本信息,為集合類的元素類型,包含一組由不同名稱定義的屬性

spec

OpenAPISpec object

集群訪問地址的配置參數(shù)信息

status

status object

狀態(tài)信息

表4 Metadata

參數(shù)

參數(shù)類型

描述

uid

String

唯一id標識

name

String

資源名稱

labels

Map<String,String>

資源標簽,key/value對格式,接口保留字段,填寫不會生效

annotations

Map<String,String>

資源注解,由key/value組成

updateTimestamp

String

更新時間

creationTimestamp

String

創(chuàng)建時間

表5 OpenAPISpec

參數(shù)

參數(shù)類型

描述

spec

spec object

集群訪問的地址

表6 spec

參數(shù)

參數(shù)類型

描述

eip

EipSpec object

EIP的詳細信息

IsDynamic

Boolean

是否動態(tài)創(chuàng)建

表7 EipSpec

參數(shù)

參數(shù)類型

描述

bandwidth

bandwidth object

帶寬信息

表8 bandwidth

參數(shù)

參數(shù)類型

描述

size

Integer

帶寬大小

sharetype

String

帶寬類型

表9 status

參數(shù)

參數(shù)類型

描述

privateEndpoint

String

集群訪問的PrivateIP(HA集群返回VIP)

publicEndpoint

String

集群訪問的PublicIP

請求示例

響應示例

狀態(tài)碼: 200

表示獲取集群訪問的地址成功。

{
  "metadata" : { },
  "spec" : {
    "spec" : {
      "eip" : {
        "bandwidth" : { }
      },
      "IsDynamic" : false
    }
  },
  "status" : {
    "privateEndpoint" : "https://192.168.3.238:5443",
    "publicEndpoint" : ""
  }
}

SDK代碼示例

SDK代碼示例如下。

  • Java
  • Python
  • Go
  • 更多
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 ShowClusterEndpointsSolution {

    public static void main(String[] args) {
        String ak = "<YOUR AK>";
        String sk = "<YOUR SK>";
        String projectId = "<project_id>";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("cn-north-4"))
                .build();
        ShowClusterEndpointsRequest request = new ShowClusterEndpointsRequest();
        request.withClusterId("<cluster_id>");
        try {
            ShowClusterEndpointsResponse response = client.showClusterEndpoints(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());
        }
    }
}
# coding: utf-8

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__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"
    projectId = "<project_id>"

    credentials = BasicCredentials(ak, sk, projectId) \

    client = CceClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CceRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = ShowClusterEndpointsRequest()
        request.cluster_id = "<cluster_id>"
        response = client.show_cluster_endpoints(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
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() {
    ak := "<YOUR AK>"
    sk := "<YOUR SK>"
    projectId := "<project_id>"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := cce.NewCceClient(
        cce.CceClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

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

更多編程語言的SDK代碼示例,請參見API Explorer的代碼示例頁簽,可生成自動對應的SDK代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

200

表示獲取集群訪問的地址成功。

錯誤碼

請參見錯誤碼。