Updated on 2024-04-30 GMT+08:00

Updating a Cluster

Function

This API is used to update a cluster. Currently, only the country/city of attached clusters and on-premises clusters, and the number of worker nodes in a multi-cloud cluster can be updated.

URI

PUT /v1/clusters/{clusterid}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

clusterid

Yes

String

Cluster ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Identity authentication information

Minimum: 1

Maximum: 16384

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

kind

Yes

String

API type. The value is fixed at Cluster and cannot be changed.

apiVersion

Yes

String

API version. The value is fixed at v1 and cannot be changed.

metadata

No

ObjectMeta object

Basic information about a cluster. Metadata is a collection of attributes.

spec

No

UpdateClusterSpec object

Detailed description of a cluster. UCS creates or updates objects by defining or updating spec.

Table 4 ObjectMeta

Parameter

Mandatory

Type

Description

uid

No

String

Cluster ID

name

No

String

Cluster name

labels

No

Map<String,String>

Label

creationTimestamp

No

String

Creation time. It is a UTC time in the RFC 3339 format.

updateTimestamp

No

String

Update timestamp

Table 5 UpdateClusterSpec

Parameter

Mandatory

Type

Description

country

No

String

Country where the cluster is located

city

No

String

City where the cluster is located

workerConfig

No

WorkerConfig object

Worker node configuration. This parameter is only available for multi-cloud clusters.

Table 6 WorkerConfig

Parameter

Mandatory

Type

Description

replicas

No

Integer

Number of nodes

strategy

No

NodeUpgradeStrategy object

Node update policy

Table 7 NodeUpgradeStrategy

Parameter

Mandatory

Type

Description

type

No

String

Policy type

rollingUpdate

No

RollingUpdateNodeUpgradeStrategy object

Rolling update

Table 8 RollingUpdateNodeUpgradeStrategy

Parameter

Mandatory

Type

Description

maxUnavailable

No

Object

Maximum number of nodes that can be unavailable during an update

maxSurge

No

Object

Maximum number of nodes that can be created over the desired number of nodes

deletePolicy

No

String

Deletion policy. The options are Random, Oldest, and Newest.

Response Parameters

None

Example Requests

Updating a cluster

PUT https://ucs.myhuaweicloud.com/v1/clusters/{clusterid}

{
  "kind" : "Cluster",
  "apiVersion" : "v1",
  "metadata" : {
    "annotations" : {
      "kubeconfig" : "{\"kind\":\"Config\",\"apiVersion\":\"v1\",\"preferences\":{},\"clusters\":[{\"name\":\"internalCluster\",\"cluster\":{\"server\":\"https://100.94.13.93:5443\",\"insecure-skip-tls-verify\":true}}],\"users\":[{\"name\":\"user\",\"user\":{\"client-certificate-data\":\"\",\"client-key-data\":\"\"}}],\"contexts\":[{\"name\":\"internal\",\"context\":{\"cluster\":\"internalCluster\",\"user\":\"user\"}}],\"current-context\":\"internal\"}"
    }
  },
  "spec" : {
    "country" : "AL",
    "city" : "AL"
  }
}

Example Responses

None

Status Codes

Status Code

Description

200

The cluster has been updated.

400

Client request error. The server could not execute the request.

403

The server refused the request.

500

Internal server error.

Error Codes

See Error Codes.