功能介绍
该API用于通过集群ID绑定、解绑集群公网apiserver地址

集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。
调用方法
请参见如何调用API。
URI
PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/mastereip
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见如何获取接口URI中参数。 |
cluster_id |
是 |
String |
集群ID,获取方式请参见如何获取接口URI中参数。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
metadata |
基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 |
|
spec |
绑定集群公网apiserver地址的配置信息 |
|
status |
状态信息 |
参数 |
参数类型 |
描述 |
---|---|---|
uid |
String |
唯一id标识 |
name |
String |
资源名称 |
labels |
Map<String,String> |
资源标签,key/value对格式,接口保留字段,填写不会生效 |
annotations |
Map<String,String> |
资源注解,由key/value组成 |
updateTimestamp |
String |
更新时间 |
creationTimestamp |
String |
创建时间 |
请求示例
绑定集群公网apiserver地址。
{
"spec" : {
"action" : "bind",
"spec" : {
"id" : "a757a69e-f920-455a-b1ba-d7a22db0fd50"
}
}
}
响应示例
状态码: 200
表示绑定集群公网apiserver地址成功,解绑成功无响应体。
{
"metadata" : { },
"spec" : {
"action" : "bind",
"spec" : {
"id" : "a757a69e-f920-455a-b1ba-d7a22db0fd50",
"eip" : {
"bandwidth" : {
"size" : 5,
"sharetype" : "PER"
}
},
"IsDynamic" : false
},
"elasticIp" : "8.8.8.8"
},
"status" : {
"privateEndpoint" : "https://192.168.3.238:5443",
"publicEndpoint" : "https://8.8.8.8:5443"
}
}
SDK代码示例
SDK代码示例如下。
绑定集群公网apiserver地址。
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 UpdateClusterEipSolution {
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();
UpdateClusterEipRequest request = new UpdateClusterEipRequest();
request.withClusterId("<cluster_id>");
MasterEIPRequest body = new MasterEIPRequest();
MasterEIPRequestSpecSpec specSpec = new MasterEIPRequestSpecSpec();
specSpec.withId("a757a69e-f920-455a-b1ba-d7a22db0fd50");
MasterEIPRequestSpec specbody = new MasterEIPRequestSpec();
specbody.withAction(MasterEIPRequestSpec.ActionEnum.fromValue("bind"))
.withSpec(specSpec);
body.withSpec(specbody);
request.withBody(body);
try {
UpdateClusterEipResponse response = client.updateClusterEip(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());
}
}
}
绑定集群公网apiserver地址。
# 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 = UpdateClusterEipRequest()
request.cluster_id = "<cluster_id>"
specSpec = MasterEIPRequestSpecSpec(
id="a757a69e-f920-455a-b1ba-d7a22db0fd50"
)
specbody = MasterEIPRequestSpec(
action="bind",
spec=specSpec
)
request.body = MasterEIPRequest(
spec=specbody
)
response = client.update_cluster_eip(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
绑定集群公网apiserver地址。
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.UpdateClusterEipRequest{}
request.ClusterId = "<cluster_id>"
idSpec:= "a757a69e-f920-455a-b1ba-d7a22db0fd50"
specSpec := &model.MasterEipRequestSpecSpec{
Id: &idSpec,
}
actionSpec:= model.GetMasterEipRequestSpecActionEnum().BIND
specbody := &model.MasterEipRequestSpec{
Action: &actionSpec,
Spec: specSpec,
}
request.Body = &model.MasterEipRequest{
Spec: specbody,
}
response, err := client.UpdateClusterEip(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
表示绑定集群公网apiserver地址成功,解绑成功无响应体。 |
错误码
请参见错误码。