Restarting a Cluster
Function
This API is used to restart a cluster.
Calling Method
For details, see Calling APIs.
URI
POST /v1.1/{project_id}/clusters/{cluster_id}/action
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
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). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
restart |
Yes |
restart object |
Cluster restart. For details about how to define the cluster to restart, see the descriptions of restart parameters. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
restartDelayTime |
No |
Integer |
Restart delay, in seconds |
restartMode |
No |
String |
Restart mode.
The default value is IMMEDIATELY. Forcibly restarting service processes will interrupt services and restart VMs in the cluster. |
restartLevel |
No |
String |
Restart level. The options are as follows:
The default value is SERVICE. |
type |
Yes |
String |
Type of the cluster node. The value can only be cdm. |
instance |
No |
String |
This parameter is reserved. When restartLevel is set to SERVICE, this parameter is mandatory. Set it to an empty string. |
group |
No |
String |
This parameter is reserved. When restartLevel is set to SERVICE, this parameter is mandatory. Set it to an empty string. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
jobId |
String |
Job ID |
Example Requests
Restarting a Cluster
POST /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb/action { "restart" : { "instance" : "", "type" : "cdm", "group" : "" } }
Example Responses
Status code: 200
ok
{ "jobId" : "ff8080815e59d92d015e5b27ccb0004d" }
SDK Sample Code
The SDK sample code is as follows.
Restarting a Cluster
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 49 50 51 52 53 54 55 |
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 RestartClusterSolution { 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(); RestartClusterRequest request = new RestartClusterRequest(); request.withClusterId("{cluster_id}"); CdmRestartClusterReq body = new CdmRestartClusterReq(); CdmRestartClusterReqRestart restartbody = new CdmRestartClusterReqRestart(); restartbody.withType("cdm") .withInstance("") .withGroup(""); body.withRestart(restartbody); request.withBody(body); try { RestartClusterResponse response = client.restartCluster(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()); } } } |
Restarting a Cluster
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 |
# 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 = RestartClusterRequest() request.cluster_id = "{cluster_id}" restartbody = CdmRestartClusterReqRestart( type="cdm", instance="", group="" ) request.body = CdmRestartClusterReq( restart=restartbody ) response = client.restart_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) |
Restarting a Cluster
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 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.RestartClusterRequest{} request.ClusterId = "{cluster_id}" instanceRestart:= "" groupRestart:= "" restartbody := &model.CdmRestartClusterReqRestart{ Type: "cdm", Instance: &instanceRestart, Group: &groupRestart, } request.Body = &model.CdmRestartClusterReq{ Restart: restartbody, } response, err := client.RestartCluster(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot