華為云計(jì)算 云知識 集群休眠HibernateCluster
集群休眠HibernateCluster

 

功能介紹

集群休眠用于將運(yùn)行中的集群置于休眠狀態(tài),休眠后,將不再收取控制節(jié)點(diǎn)資源費(fèi)用。

接口約束

1、集群休眠后,將無法在此集群上創(chuàng)建和管理工作負(fù)載等資源。

2、按需付費(fèi)集群休眠后,將暫停收取控制節(jié)點(diǎn)資源費(fèi)用,集群所屬的節(jié)點(diǎn)、綁定的彈性IP、帶寬等資源按各自的計(jì)費(fèi)方式(“包年/包月”或“按需付費(fèi)”)進(jìn)行收費(fèi)。

調(diào)用方法

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

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/hibernate

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

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

cluster_id

String

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

請求參數(shù)

表2 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

Content-Type

String

消息體的類型(格式)

X-Auth-Token

String

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

響應(yīng)參數(shù)

請求示例

響應(yīng)示例

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

    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();
        HibernateClusterRequest request = new HibernateClusterRequest();
        request.withClusterId("<cluster_id>");
        try {
            HibernateClusterResponse response = client.hibernateCluster(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 = HibernateClusterRequest()
        request.cluster_id = "<cluster_id>"
        response = client.hibernate_cluster(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.HibernateClusterRequest{}
	request.ClusterId = "<cluster_id>"
	response, err := client.HibernateCluster(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

狀態(tài)碼

狀態(tài)碼

描述

200

表示集群休眠任務(wù)下發(fā)成功,需持續(xù)查詢集群狀態(tài),當(dāng)集群狀態(tài)變?yōu)镠ibernation后表示休眠成功

錯誤碼

請參見錯誤碼。