tke — Kubernetes Engine
tke · 2018-05-25

DeleteClusterInstances

POST

Delete one or more nodes from a cluster.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /tke/DeleteClusterInstances path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.

curl
curl -sS https://tke.api3.convergecloud.com/ \
  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tke/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'Host: tke.api3.convergecloud.com' \
  -H 'X-TC-Action: DeleteClusterInstances' \
  -H 'X-TC-Version: 2018-05-25' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"ClusterId":"<ClusterId>","InstanceIds":["<InstanceId>"],"InstanceDeleteMode":"<InstanceDeleteMode>"}'

Request parameters

FieldTypeRequiredDescription
ClusterIdstringYesCluster ID
InstanceIdsstring[]YesList of Instance IDs
InstanceDeleteModestringYesPolicy used to delete an instance in the cluster: `terminate` (terminates the instance. Only available for pay-as-you-go CVMs); `retain` (only removes it from the cluster. The instance will be retained.)
ForceDeletebooleanNoWhether or not there is forced deletion (when a node is initialized, the parameters can be specified as TRUE)

Response

Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.

FieldTypeDescription
SuccInstanceIdsstring[]IDs of deleted instances
FailedInstanceIdsstring[]IDs of instances failed to be deleted
NotFoundInstanceIdsstring[]IDs of instances that cannot be found
RequestIdstringThe unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
Success
{
  "Response": {
    "SuccInstanceIds": …,
    "FailedInstanceIds": …,
    "RequestId": "…"
  }
}
Error
{
  "Response": {
    "Error": { "Code": "…", "Message": "…" },
    "RequestId": "…"
  }
}

Try it

CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/tke.
Request bodyvalid JSONPOST tke.api3.convergecloud.com · DeleteClusterInstances

What failure looks like

Example error responses for this action. Match on Code.

Recorded error 1
{
  "Response": {
    "RequestId": "",
    "Error": {
      "Code": "InternalError",
      "Message": "get cluster cls-00000000 failed ,err: clusters.platform.tkestack.io \"cls-00000000\" not found"
    }
  }
}
Recorded error 2
{
  "Response": {
    "RequestId": "",
    "Error": {
      "Code": "InternalError",
      "Message": "get cluster cls-00000000 failed ,err: clusters.platform.tkestack.io \"cls-00000000\" not found"
    }
  }
}