When using cluster mode
The following APIs are available for clusters with cluster mode enabled.
You must use an encrypted value for the user.password
field to create the cluster successfully.
Create cluster
Creates a new cluster. The number of shards must be between 1 and 12.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
Type | Parameter | Data type | Description |
---|---|---|---|
Header | {token-id} * | String | Refer to API authentication token |
Header | Content-Type* | String | Content type, default: application/json |
Body | name* | String | Name of the cluster |
description | String | Description of the cluster | |
version* | String | Redis version Supported: 7.2.7 , 7.2.6 , 7.0.15 , 6.2.17 , 6.2.16 , 6.2.5 | |
port* | Integer | Redis port number, must be between 2000 and 50000 | |
shardCount* | Integer | Number of shards | |
nodeCountPerShard* | Integer | Number of nodes per shard | |
flavorId* | String | Flavor ID | |
parameterGroupId* | String | Parameter group ID to associate with the cluster | |
subnets[]* | Object Array | List of available subnets | |
subnets[].id* | String | Subnet ID - Check in Console > VPC > Subnet | |
subnetAssignments[]* | Object Array | Subnet assignment list | |
subnetAssignments[].primary* | Object | Subnet for Primary node | |
subnetAssignments[].primary.id* | String | Subnet ID for the Primary node | |
subnetAssignments[].replicas[]* | Object Array | List of subnets for Replica nodes | |
subnetAssignments[].replicas[].id* | String | Subnet ID for each Replica node | |
tlsEnabled | Boolean | Whether to enable TLS | |
backupSchedule | Object | Automatic backup policy. If omitted, automatic backup is disabled | |
backupSchedule.cron | String | Cron expression for backup schedule (5-field format only) | |
backupSchedule.retentionLimit | Integer | Backup retention period (in days) | |
user | Object | Database user information - Account used to access the DB | |
user.name | String | Database username | |
user.password | String | Encrypted or hashed password See How to encrypt DB user password | |
securityGroups[]* | Object Array | List of security groups to associate with the cluster | |
securityGroups[].id* | String | Security group ID - Check in Console > VPC > Security Groups |
{
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"shardCount": 2,
"nodeCountPerShard": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
},
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"user": {
"name": "testuser",
"password": "if2iOwJYiklliJIT8tvqoY~~~~",
},
"tlsEnabled": false,
"restoreSource": {
"backupName": "{restore-source-backup-name-env}"
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 7
},
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
]
}
Response
Status Code | Description |
---|---|
201 | Request to create resource was successful |
400 | The request is invalid and cannot be processed |
401 | The request was made by an unauthenticated user |
403 | The request was made by a user without permission |
409 | A duplicate request occurred due to the current server state |
422 | The request syntax is valid, but the operation cannot be processed |
500 | The operation cannot be processed due to an internal error |
Field | Type | Description |
---|---|---|
objectId | String | ID of the created cluster |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Create cluster using existing backup name (restore)
Restore a cluster using an existing backup name.
You can only restore in the same cluster mode as the selected backup, and only to the same or higher Redis engine version.
If the cache size of the source backup exceeds 60% of the memory of the target cluster's flavor, the restoration may fail.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
Type | Parameter | Data Type | Description |
---|---|---|---|
Header | {token-id} * | String | Refer to API authentication token |
Content-Type* | String | Content type, default: application/json | |
Body | name* | String | Name of the cluster |
description | String | Description of the cluster | |
version* | String | Redis version Supported: 7.2.7 , 7.2.6 , 7.0.15 , 6.2.17 , 6.2.16 , 6.2.5 | |
port* | Integer | Redis port (between 2000 and 50000) | |
shardCount* | Integer | Number of shards - Must match the number of shards in the backup | |
nodeCountPerShard* | Integer | Number of nodes per shard | |
flavorId* | String | Flavor ID | |
parameterGroupId* | String | Parameter group ID to be associated with the cluster | |
subnets[]* | Object Array | List of subnets for deployment | |
subnets[].id* | String | Subnet ID - Check in Console > VPC > Subnet | |
subnetAssignments[]* | Object Array | List of subnet assignments | |
subnetAssignments[].primary* | Object | Subnet assigned to the primary node | |
subnetAssignments[].primary.id* | String | Subnet ID for primary node | |
subnetAssignments[].replicas[]* | Object Array | List of subnets for replicas | |
subnetAssignments[].replicas[].id* | String | Subnet ID for replica node | |
tlsEnabled | Boolean | Whether to enable TLS | |
restoreSource | Object | Information of the backup source - If omitted, a new cluster is created instead of restoring | |
restoreSource.backupNames | String | Name of the Redis backup from the backup list | |
backupSchedule | Object | Auto backup policy; if not set, auto backup is disabled | |
backupSchedule.cron | String | Cron expression (5-field) for scheduling backups | |
backupSchedule.retentionLimit | Integer | Retention period for backups (in days) | |
user | Object | Database user information - Used to access the DB | |
user.name | String | Database username | |
user.password | String | Encrypted or hashed database password See How to encrypt the database user password | |
securityGroups[]* | Object Array | List of security groups to connect to the cluster | |
securityGroups[].id* | String | Security group ID - Check in Console > VPC > Security Group |
{
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"shardCount": 2,
"nodeCountPerShard": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
},
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"user": {
"name": "testuser",
"password": "if2iOwJYiklliJIT8tvqoY~~~~",
},
"tlsEnabled": false,
"restoreSource": {
"backupName": "{restore-source-backup-name-env}"
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 7
},
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
]
}
Response
Status Code | Description |
---|---|
201 | Request to create the resource was successful |
400 | The request is invalid and cannot be processed |
401 | The user is not authenticated |
403 | The user does not have permission to perform this action |
409 | A duplicate request occurred due to the current server state |
422 | The request syntax is valid but cannot be processed |
500 | Internal server error preventing the operation |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Update cluster information
Modify certain information for a specific cluster.
Request
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}" \
-d '{
"backupSchedule": {
"cron": "* 3 * * *",
"retentionLimit": 15
},
"description": "modify description",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"securityGroups": [
{
"id: "ba9a0303-024a-47a4-b1c6-90ada7ca74fb"
}, {
"id: "2133fb76-8dda-492f-afce-9a9bc5f1cb9f"
}
]
}'
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
Header | {token-id} * | String | Refer to API authentication token |
Body | backupSchedule | Object | Backup schedule settings |
backupSchedule.cron | String | Cron expression for backup schedule, only time can be set, 5-field cron format - Passing "" as the value deletes the backup | |
backupSchedule.retentionLimit | Integer | Backup retention period (in days) | |
description | String | Cluster description to be updated | |
parameterGroupId | String | Parameter group ID to be associated with the cluster - Cannot be updated to an empty string ( "" ) | |
securityGroups[] | Object Array | List of security group IDs to be updated | |
securityGroups[].id | String | Security group ID |
{
"backupSchedule": {
"cron": "* 3 * * *",
"retentionLimit": 15
},
"description": "modify description",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"securityGroups": [
{
"id: "ba9a0303-024a-47a4-b1c6-90ada7ca74fb"
}, {
"id: "2133fb76-8dda-492f-afce-9a9bc5f1cb9f"
}
]
}
#### Response
| Status Code | Description |
|-------------|-------------|
| `200` | Successful response for resource update request |
| `400` | The request is invalid and cannot be processed |
| `401` | Request made by an unauthenticated user |
| `403` | Request made by a user without permission |
| `404` | The requested resource does not exist |
| `500` | Internal error, unable to process the request |
| Field | Type | Description |
|-----------|--------|------------------|
| objectId | String | Cluster ID |
```json title="Update cluster information Response Example"
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Delete cluster
Delete a specific cluster.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}?keepAutomaticBackups={keep-auto-backup}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
Query | {keep-auto-backup} | Boolean | Whether to retain automatic backups - Required if automatic backups exist - true : Retain automatic backups and delete them at the specified expiration- false : Delete automatic backups along with the instance set |
Header | {token-id} * | String | See API Authentication Token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion request |
400 | The request is invalid and cannot be processed |
401 | Request made by an unauthenticated user |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Add shard
Add a shard to a specific cluster.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
Header | {token-id} | String | See API Authentication Token |
Body | nodeCount * | Integer | Number of nodes to be added to the shard |
subnetAssignments[] * | Object | Subnet assignment list | |
subnetAssignments[].primary * | Object | Subnet to assign to primary | |
subnetAssignments[].primary.id * | String | ID of the subnet assigned to primary | |
subnetAssignments[].replicas[] * | Array | Subnet list assigned to replicas | |
subnetAssignments[].replicas[].id * | String | ID of the subnet assigned to replicas |
{
"nodeCount": 3,
"subnetAssignments": {
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
}
Response
Status Code | Description |
---|---|
201 | Resource creation request successful |
400 | The request is invalid and cannot be processed |
401 | Request made by an unauthenticated user |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "875bb16f-7347-4d87-a49f-e705e91db2fb"
}
Retrieve shard list in a cluster
Retrieve the list of shards in a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
Header | {token-id} | String | See API Authentication Token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion request |
400 | The request is invalid and cannot be processed |
401 | Request made by an unauthenticated user |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
shards[] | Object Array | List of shards |
shards[].id | String | Shard ID |
shards[].name | String | Shard name |
shards[].slots | String | Assigned slot range |
shards[].nodes[] | Object Array | List of nodes |
shards[].nodes[].id | String | Node ID |
shards[].nodes[].name | String | Node name |
shards[].nodes[].subnet | Object | Subnet information where the node is placed |
shards[].nodes[].subnet.id | String | Subnet ID where the node is placed |
shards[].nodes[].endpoint | String | Node endpoint (Private IP) |
shards[].nodes[].role | String | Node role (primary/replica) |
shards[].nodes[].status | String | Node status |
shards[].nodes[].createdAt | String | Node creation time (RFC3339) |
shards[].status | String | Shard status |
shards[].createdAt | String | Shard creation time (RFC3339) |
200 OK
content-type: application/json; charset=UTF-8
{
"shards": [
{
"id": "001",
"name": "test-cluster-001",
"slots": "0-8191",
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "002",
"name": "test-cluster-002",
"slots": "8192-16383",
"nodes": [
{
"id": "dddddddd-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-001",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "eeeeeeee-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-002",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "ffffffff-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-003",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
]
}
View shard details
Retrieve the detailed information of a specific shard in a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion |
400 | The request is invalid and cannot be processed |
401 | The request is made by an unauthenticated user |
403 | The request is made by a user without permission |
404 | The requested resource does not exist |
500 | Internal server error, unable to process the request |
Field | Type | Description |
---|---|---|
id | String | Shard ID |
name | String | Shard name |
slots | String | Assigned slot range |
nodes[] | Object Array | List of nodes |
nodes[].id | String | Node ID |
nodes[].name | String | Node name |
nodes[].subnet | Object | Subnet info assigned to the node |
nodes[].subnet.id | String | Subnet ID of the node |
nodes[].endpoint | String | Node endpoint (Private IP) |
nodes[].role | String | Node role (primary/replica) |
nodes[].status | String | Node status |
nodes[].createdAt | String | Node creation timestamp (RFC3339) |
status | String | Shard status |
createdAt | String | Shard creation timestamp (RFC3339) |
200 OK
content-type: application/json; charset=UTF-8
{
"id": "001",
"name": "test-cluster-001",
"slots": "0-8191",
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
Delete shard
Delete a specific shard in a specific cluster.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion |
400 | The request is invalid and cannot be processed |
401 | The request is made by an unauthenticated user |
403 | The request is made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Add replica to shard
Add a replica to a specific shard in a specific cluster.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
Header | {token-id} * | String | Refer to API authentication token |
Body | subnet* | Object | Subnet assignment |
subnet.id* | String | Subnet ID |
{
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
}
Response
Status Code | Description |
---|---|
201 | Resource creation successful |
400 | The request is invalid and cannot be processed |
401 | The request is made by an unauthenticated user |
403 | The request is made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
View list of instances (nodes) in a shard
Retrieve the list of instances (nodes) in a specific shard of a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion |
400 | The request is invalid and cannot be processed |
401 | The request is made by an unauthenticated user |
403 | The request is made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
nodes[] | Object Array | List of nodes |
nodes[].id | String | Node ID |
nodes[].name | String | Node name |
nodes[].subnet | Object | Subnet information where node is placed |
nodes[].subnet.id | String | Subnet ID |
nodes[].endpoint | String | Node endpoint (private IP) |
nodes[].role | String | Node role (primary/replica) |
nodes[].status | String | Node status |
nodes[].createdAt | String | Node creation time (RFC3339) |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
]
}
View instance (node) details
Retrieve detailed information about a specific instance (node) within a specific shard of a cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes/{node-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
{node-id} * | String | Node ID | |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion |
400 | The request is invalid and cannot be processed |
401 | Request made by an unauthenticated user |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
id | String | Node ID |
name | String | Node name |
subnet | Object | Subnet information |
subnet.id | String | ID of the subnet |
endpoint | String | Node endpoint (private IP) |
role | String | Node role (primary/replica) |
status | String | Node status |
createdAt | String | Node creation time (RFC3339) |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
Delete instance (node)
Delete a specific instance (node) from a specific shard in a specific cluster.
Note: Primary nodes cannot be deleted.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes/{node-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data Type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
{shard-id} * | String | Shard ID | |
{node-id} * | String | Node ID | |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response for resource retrieval/deletion |
400 | The request is invalid and cannot be processed |
401 | Request made by an unauthenticated user |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
500 | Internal error, unable to process the request |
Field | Type | Description |
---|---|---|
objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb" /* cluster id */
}