Updated on 2025-09-15 GMT+08:00

Binding SSH Key Pairs in Batches

Function

This interface is used to bind new SSH key pairs to specified VMs in batches.

Calling Method

For details, see Calling APIs.

URI

POST /v3/{project_id}/keypairs/batch-associate

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

Can be obtained by calling the IAM API for obtaining the user token (the value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

batch_keypairs

Yes

Array of AssociateKeypairRequestBody objects

You can select a maximum of 10 ECSs to bind key pairs at a time.

Constraints: Only the same key pair can be selected. The ECS is in the Running state and has not been bound to any key pair.

Table 4 AssociateKeypairRequestBody

Parameter

Mandatory

Type

Description

keypair_name

Yes

String

SSH key pair name

server

Yes

EcsServerInfo object

Information about the VM that the key pair is to be bound to

Table 5 EcsServerInfo

Parameter

Mandatory

Type

Description

id

Yes

String

ID of the VM that the SSH key pair is to be bound to (in order to replace or reset the original key pair).

auth

No

Auth object

(Optional) Authentication type. This parameter is required for key pair replacement but not required for key pair reset.

disable_password

No

Boolean

  • true: SSH login is disabled on the VM.

- false: SSH login is enabled on the VM.

port

No

Long

SSH listening port.

Table 6 Auth

Parameter

Mandatory

Type

Description

type

No

String

The value can be password or keypair.

key

No

String

  • If type is set to password, key indicates the password.

  • If type is set to keypair, key indicates the private key.

Response Parameters

Status code: 202

Table 7 Response body parameters

Parameter

Type

Description

tasks

Array of TaskResponseBody objects

Bind key pairs in batches.

Table 8 TaskResponseBody

Parameter

Type

Description

task_id

String

ID returned when a task is delivered

server_id

String

Specifies the ID of the bound VM.

status

String

Indicates the delivery status of a task. SUCCESS or FAILED.

error_code

String

Error code returned when a task fails to be delivered.

error_msg

String

Error information returned when a task fails to be delivered.

Status code: 400

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error Codes

error_msg

String

Description

Example Requests

{
  "batch_keypairs" : [ {
    "keypair_name" : "1",
    "server" : {
      "id" : "fxxx16e3-74b8-4025-9852-1f451932c20c",
      "disable_password" : false,
      "auth" : {
        "type" : "password",
        "key" : "password"
      }
    }
  }, {
    "keypair_name" : "1",
    "server" : {
      "id" : "4xxxxfc4-b4bf-49c2-b983-a1811c9760c1",
      "disable_password" : false,
      "auth" : {
        "type" : "password",
        "key" : "password"
      }
    }
  } ]
}

Example Responses

Status code: 202

Request succeeded.

{
  "tasks" : [ {
    "server_id" : "xxx",
    "task_id" : "xxx",
    "status" : "SUCCESS"
  }, {
    "server_id" : "xxx",
    "status" : "Failed",
    "error_code" : "xxxx",
    "error_msg" : "xxxx"
  } ]
}

Status code: 400

Error response

{
  "error_code" : "KPS.XXX",
  "error_msg" : "XXX"
}

Status Codes

Status Code

Description

202

Request succeeded.

400

Error response

Error Codes

See Error Codes.