Common
Common APIs can be used regardless of whether cluster mode is enabled or disabled.
Retrieve engine version list
Retrieve the list of available engine versions.
Request
Retrieve engine version list request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/redis/versions" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response to resource creation request |
400 | Invalid request, unable to process |
403 | User does not have the required permissions |
404 | The requested resource does not exist |
Field | Data type | Description |
---|---|---|
[] | String Array | List of engine versions |
Retrieve engine version list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
["6.2.5","5.0.6"]
Retrieve flavor list
Retrieve the list of available flavors.
Request
Retrieve flavor list request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/redis/flavors" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response to resource creation request |
401 | Unauthorized user request |
403 | User does not have the required permissions |
404 | The requested resource does not exist |
500 | Internal server error, unable to process request |
Field | Data type | Description |
---|---|---|
flavors[] | Object Array | List of flavors |
flavors[].id | String | Flavor ID |
flavors[].name | String | Flavor name |
flavors[].vcpus | Integer | Number of virtual CPUs in the flavor |
flavors[].memory | Integer | Memory size of the flavor (in GiB) |
Retrieve flavor list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"flavors": [
{
"id": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"name": "a1-2-co",
"vcpus": 2,
"memory": 4
},
{
"id": "9e34af24-e1fa-475f-ba5c-11f0116e1d85",
"name": "a1-4-co",
"vcpus": 4,
"memory": 8
},
{
"id": "f443e5e2-84c1-47c1-984b-ee2221b96fe8",
"name": "a1-8-co",
"vcpus": 8,
"memory": 16
}
]
}
Retrieve cluster list
Retrieve the list of all clusters.
Request
Retrieve cluster list request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
Header | {token-id} * | String | Refer to API authentication token |
Query | {parameter-group-id or parameter-group-name} | String | Parameter group ID or name |
Response
Status Code | Description |
---|---|
200 | Successful response to resource creation request |
400 | Invalid request, unable to process |
401 | Unauthorized user request |
403 | User does not have the required permissions |
500 | Internal server error, unable to process request |
Field | Data type | Description |
---|---|---|
clusters[] | Object Array | List of clusters |
clusters.projectId | String | Project ID |
clusters.objectId | String | Object ID |
clusters.name | String | Cluster name |
clusters.description | String | Cluster description |
clusters.version | String | Redis version |
clusters.port | Integer | Redis port number |
clusters.clusterEnabled | Boolean | Indicates whether cluster mode is enabled - true : Cluster mode enabled - false : Cluster mode disabled |
clusters.recoveryEnabled | Boolean | Indicates whether high availability mode is enabled - true : High availability mode enabled (always true if using cluster mode) - false : High availability mode disabled |
clusters.shardCount | Integer | Number of shards |
clusters.totalNodeCount | Integer | Total number of nodes |
clusters.flavorId | String | Flavor ID |
clusters.vcpu | Integer | Number of virtual CPUs |
clusters.memory | Integer | Memory size (GiB) |
clusters.endpoints | Object | Endpoint addresses |
clusters.endpoints.primaryEndpoint | String | Primary endpoint address |
clusters.endpoints.readEndpoint | String | Read-only endpoint address - No read-only endpoint if using cluster mode |
clusters.userName | String | User ID, - if no authentication used |
clusters.subnets[] | Object Array | List of subnets available for placement |
clusters.subnets[].id | String | Subnet ID |
clusters.subnetAssignments[] | Object Array | List of subnet assignments |
clusters.subnetAssignments[].primary | Object | Subnet assigned as primary |
clusters.subnetAssignments[].primary.id | String | Subnet ID assigned as primary |
clusters.subnetAssignments[].replicas[] | Object Array | List of subnets assigned as replicas |
clusters.subnetAssignments[].replicas[].id | String | Subnet ID assigned as replica |
clusters.securityGroups[] | Object Array | List of security groups connected to the cluster |
clusters.securityGroups[].id | String | Security group ID |
clusters.backupSchedule | Object | Automatic backup policy |
clusters.backupSchedule.cron | string | Cron expression for automatic backup schedule |
clusters.backupSchedule.retentionLimit | integer | Retention period for automatic backups (in days) |
clusters.creator | String | Cluster creator ID |
clusters.license | String | License type |
clusters.status | String | Cluster status |
clusters.parameterGroupId | String | ID of the parameter group applied to the cluster |
clusters.parameterGroupName | String | Name of the parameter group applied to the cluster |
clusters.parameterGroupSyncStatus | String | Sync status of the parameter group in the cluster |
clusters.createdAt | Integer | Cluster creation time (RFC3339) |
Retrieve cluster list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"clusters": [
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "qqqqwwww-7347-4d87-a49f-e705e91db2fb",
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": true, /* redis cluster */
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"subnets": [ /* node 배치 가능한 subnet 리스트 */
{"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"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": null,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Modifying",
"createdAt": 2024-03-06T02:35:13Z
},
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
"name": "test-instance-group",
"description": "test-instance-group",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": false, /* redis instance set */
"recoveryEnabled": false,
"shardCount": 0,
"totalNodeCount": 4,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 8,
"endpoints": {"primaryEndpoint": "", "readEndpoint": ""},
"userName": "testusername",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 15
},
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Creating",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": 2024-03-06T02:35:13Z
}
]
}
Retrieve cluster details
Retrieve detailed information about a specific cluster.
Request
Retrieve cluster details request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
URL | {cluster-id} * | String | Cluster ID |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response to resource retrieval/deletion request |
400 | Invalid request, unable to process |
401 | Unauthorized user request |
403 | User does not have the required permissions |
404 | The requested resource does not exist |
500 | Internal server error, unable to process request |
Field | Data type | Description |
---|---|---|
projectId | String | Project ID |
objectId | String | Object ID |
name | String | Cluster name |
description | String | Cluster description |
version | String | Redis version |
port | Integer | Redis port number |
clusterEnabled | Boolean | Indicates if cluster mode is enabled - true : Cluster mode enabled - false : Cluster mode disabled |
recoveryEnabled | Boolean | Indicates if high availability mode is enabled - true : High availability mode enabled (always true if using cluster mode) - false : High availability mode disabled |
shardCount | Integer | Number of shards - 0 if cluster mode is disabled |
totalNodeCount | Integer | Total number of nodes |
flavorId | String | Flavor ID |
vcpu | Integer | Number of virtual CPUs |
memory | Integer | Memory size (GiB) |
endpoints | Object | Endpoint addresses |
endpoints.primaryEndpoint | String | Primary endpoint address |
endpoints.readEndpoint | String | Read-only endpoint address - No read-only endpoint if using cluster mode |
userName | String | User ID, - if no authentication used |
subnets[] | Object Array | List of subnets available for placement |
subnets[].id | String | Subnet ID |
subnetAssignments[] | Object Array | List of subnet assignments |
subnetAssignments[].primary | Object | Subnet assigned as primary |
subnetAssignments[].primary.id | String | Subnet ID assigned as primary |
subnetAssignments[].replicas[] | Object Array | List of subnets assigned as replicas |
subnetAssignments[].replicas[].id | String | Subnet ID assigned as replica |
securityGroups[] | Object Array | List of security groups connected to the cluster |
securityGroups[].id | String | Security group ID |
backupSchedule | Object | Automatic backup policy - Null if using cluster mode |
backupSchedule.cron | String | Cron expression for automatic backup schedule |
backupSchedule.retentionLimit | Integer | Retention period for automatic backups (in days) |
creator | String | Cluster creator ID |
license | String | License type |
status | String | Cluster status |
parameterGroupId | String | Parameter group ID applied to the cluster |
parameterGroupName | String | Parameter group name applied to the cluster |
parameterGroupSyncStatus | String | Sync status of the parameter group in the cluster |
createdAt | Integer | Cluster creation time (RFC3339) |
userName | String | User account name, - if no authentication used |
Retrieve cluster details response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "qqqqwwww-7347-4d87-a49f-e705e91db2fb",
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": true, /* redis cluster */
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"subnets": [ /* node 배치 가능한 subnet 리스트 */
{"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"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": null,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Modifying",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": 2024-03-06T02:35:13Z
}
Retrieve instance set details
Retrieve detailed information for a specified instance set.
Request
Retrieve instance set (non-cluster mode) details request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{instance-set-id}" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
URL | {instance-set-id} * | String | Instance set ID |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response to resource retrieval/deletion request |
400 | Invalid request, unable to process |
401 | Unauthorized user request |
403 | User does not have the required permissions |
404 | The requested resource does not exist |
500 | Internal server error, unable to process request |
Field | Data type | Description |
---|---|---|
projectId | String | Project ID |
objectId | String | Cluster/instance set ID |
name | String | Cluster name |
description | String | Cluster description |
version | String | Redis version |
port | Integer | Redis port number |
clusterEnabled | Boolean | Indicates if cluster mode is enabled - true : Cluster mode enabled - false : Cluster mode disabled |
recoveryEnabled | Boolean | Indicates if high availability mode is enabled - true : High availability mode enabled - false : High availability mode disabled |
shardCount | Integer | Number of shards - 0 if cluster mode is disabled |
totalNodeCount | Integer | Total number of nodes |
flavorId | String | Flavor ID |
vcpu | Integer | Number of virtual CPUs |
memory | Integer | Memory size (GiB) |
endpoints | Object | Endpoint addresses |
endpoints.primaryEndpoint | String | Primary endpoint address |
endpoints.readEndpoint | String | Read-only endpoint address - No read-only endpoint if using cluster mode |
userName | String | User ID, - if no authentication used |
subnets[] | Object Array | List of subnets available for placement |
subnets[].id | String | Subnet ID |
subnetAssignments[] | Object Array | List of subnet assignments |
subnetAssignments[].primary | Object | Subnet assigned as primary |
subnetAssignments[].primary.id | String | Subnet ID assigned as primary |
subnetAssignments[].replicas[] | Object Array | List of subnets assigned as replicas |
subnetAssignments[].replicas[].id | String | Subnet ID assigned as replica |
securityGroups[] | Object Array | List of security groups connected to the cluster |
securityGroups[].id | String | Security group ID |
backupSchedule | Object | Automatic backup policy |
backupSchedule.cron | String | Cron expression for automatic backup schedule |
backupSchedule.retentionLimit | Integer | Retention period for automatic backups (in days) |
creator | String | Cluster creator ID |
license | String | License type |
status | String | Cluster status |
parameterGroupId | String | Parameter group ID applied to the cluster |
parameterGroupName | String | Parameter group name applied to the cluster |
parameterGroupSyncStatus | String | Sync status of the parameter group in the cluster |
createdAt | Integer | Cluster creation time (RFC3339) |
userName | String | User account name, - if no authentication used |
Retrieve instance set (non-cluster mode) details response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
"name": "test-instance-group",
"description": "test-instance-group",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": false, /* redis instance set */
"recoveryEnabled": false,
"shardCount": 0,
"totalNodeCount": 4,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 8,
"endpoints": {"primaryEndpoint": "", "readEndpoint": ""},
"userName": "testusername",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 15
},
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Creating",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": 2024-03-06T02:35:13Z
}
Retry applying parameter group to cluster
If the parameter group sync status is Error-Sync
, Suspended
, or another non-normal state, retry applying the parameter group to the cluster.
Request
Retry applying parameter group request syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id or instance-set-id}/parameter-group/apply" \
-H "X-Auth-Token: {token-id}"
Type | Parameter | Data type | Description |
---|---|---|---|
URL | {cluster-id or instance-set-id} * | String | Cluster ID or Instance Set ID |
Header | {token-id} * | String | Refer to API authentication token |
Response
Status Code | Description |
---|---|
200 | Successful response to resource retrieval/deletion request |
400 | Invalid request, unable to process |
401 | Unauthorized user request |
403 | User does not have the required permissions |
404 | The requested resource does not exist |
500 | Internal server error, unable to process request |
Field | Data type | Description |
---|---|---|
objectId | String | Cluster ID |
Retry applying parameter group response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
}