openapi: 3.2.0
info:
title: Pingcap Cluster API
version: '1.0'
description: 'Operations tagged Cluster across 4 of this provider''s published API definitions: pingcap-tidb-cloud-dedicated-v1beta1-openapi-original.json, pingcap-tidb-cloud-starter-essential-v1beta1-openapi-original.json, pingcap-tidb-cloud-v1beta-openapi-original.json, pingcap-tidb-dm-openapi-original.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://you.domain.com/
tags:
- name: Cluster
description: Create, get, update, delete, pause, resume, reset the root password, and list node quotas of a cluster.
paths:
/clusters:
get:
summary: List clusters
description: Lists all clusters in your organization. You can filter results by project, region, cluster state, or specific cluster IDs.
operationId: ClusterService_ListClusters
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1ListClustersResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: projectId
description: The ID of the project. If not specified, the project ID of the default project is used.
in: query
required: false
type: string
- name: clusterIds
description: A list of cluster IDs. If specified, only clusters matching these IDs are returned.
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: regionIds
description: A list of region IDs. If specified, only clusters in these regions are returned.
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
- name: clusterStates
description: "A list of cluster states. If specified, only clusters in these states are returned.\n\n`\"UPGRADING\"`, `\"IMPORTING\"`, `\"MODIFYING\"`, `\"PAUSING\"`, `\"PAUSED\"`, and `\"RESUMING\"` states are only available for [TiDB Cloud Dedicated](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#tidb-cloud-dedicated) clusters.\n\n - CREATING: Cluster is being created.\n - DELETING: Cluster is being deleted.\n - ACTIVE: Cluster is active for use.\n - RESTORING: Cluster data is being restored.\n - MAINTENANCE: Cluster is under maintenance.\n - DELETED: Cluster has been deleted.\n - INACTIVE: Cluster is not active, but not being deleted.\n - UPGRADING: Cluster is being updated.\nOnly for Dedicated Cluster.\n - IMPORTING: Cluster is being imported.\nOnly for Dedicated Cluster.\n - MODIFYING: Cluster is being modified.\nOnly for Dedicated Cluster.\n - PAUSING: Cluster is being paused.\nOnly for Dedicated Cluster.\n - PAUSED: Cluster is paused.\nOnly for Dedicated Cluster.\n - RESUMING: Cluster is resuming.\nOnly for Dedicated Cluster."
in: query
required: false
type: array
items:
type: string
enum:
- CREATING
- DELETING
- ACTIVE
- RESTORING
- MAINTENANCE
- DELETED
- INACTIVE
- UPGRADING
- IMPORTING
- MODIFYING
- PAUSING
- PAUSED
- RESUMING
collectionFormat: multi
- name: pageSize
description: The maximum number of clusters to return. If not specified, at most 10 clusters will be returned. The maximum value is `100`. Values greater than `100` are set to `100`.
in: query
required: false
type: integer
format: int32
default: 10
minimum: 1
maximum: 100
- name: pageToken
description: 'The pagination token received from a previous [List clusters](#tag/Cluster/operation/ClusterService_ListClusters) request. Use this token to retrieve the next page of results.
**Note**: When paginating, all other parameters must match the original request.'
in: query
required: false
type: string
- name: skip
description: The number of clusters to skip before returning results. If the value exceeds the total number of clusters, the response is `200` with an empty list and no `nextPageToken`.
in: query
required: false
type: integer
format: int32
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters'"
post:
summary: Create a cluster
description: Creates a new [TiDB Cloud Dedicated](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#tidb-cloud-dedicated) cluster. Before creating a TiDB Cloud Dedicated cluster, you must set a [Project CIDR on TiDB Cloud console](https://docs.pingcap.com/tidbcloud/set-up-vpc-peering-connections/#prerequisite-set-a-cidr-for-a-region).
operationId: ClusterService_CreateCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1Cluster'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: cluster
description: Required.
in: body
required: true
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1Cluster'
- name: validateOnly
description: If set to `true`, the request is validated but not executed. Defaults to `false`.
in: query
required: false
type: boolean
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters' --header 'Content-Type: application/json' --data '{\n \"displayName\": \"foo-bar\",\n \"regionId\": \"aws-us-west-2\",\n \"labels\": {\n \"tidb.cloud/project\": \"YOUR_PROJECT_ID\"\n },\n \"tidbNodeSetting\": {\n \"nodeSpecKey\": \"8C32G\",\n \"tidbNodeGroups\": [\n {\n \"nodeCount\": 2\n }\n ]\n },\n \"tikvNodeSetting\": {\n \"nodeCount\": 3,\n \"nodeSpecKey\": \"8C32G\",\n \"storageSizeGi\": 500,\n \"storageType\": \"Standard\"\n }\n}'"
/clusters/{clusterId}:
get:
summary: Get a cluster
description: Retrieves details of a specific cluster.
operationId: ClusterService_GetCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1Cluster'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster.
in: path
required: true
type: string
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}'"
delete:
summary: Delete a cluster
description: Deletes a cluster by `clusterId`.
operationId: ClusterService_DeleteCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1Cluster'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster to delete.
in: path
required: true
type: string
- name: validateOnly
description: If set to `true`, the request is validated but not executed. Defaults to `false`.
in: query
required: false
type: boolean
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location --request DELETE 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}'"
patch:
summary: Update a cluster
description: 'Updates the configuration of a specific cluster. You can modify the following fields: `tidbNodeSetting`, `tikvNodeSetting`, `tiflashNodeSetting` and `displayName`.'
operationId: ClusterService_UpdateCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apidedicatedv1beta1Cluster'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster to update.
in: path
required: true
type: string
- name: cluster
description: The updated cluster configuration.
in: body
required: true
schema:
type: object
properties:
tidbNodeSetting:
description: "The TiDB node setting for updating a cluster. \n\nTo get the node spec available configurations of a specific region for a cloud provider, refer to [List node specs](#tag/Region/operation/RegionService_ListNodeSpecs) API."
allOf:
- $ref: '#/definitions/v1beta1UpdateClusterRequestTidbNodeSetting'
tikvNodeSetting:
description: "The TiKV node setting for updating a cluster. \n\nTo get the node spec available configurations of a specific region for a cloud provider, refer to [List node specs](#tag/Region/operation/RegionService_ListNodeSpecs) API."
allOf:
- $ref: '#/definitions/v1beta1UpdateClusterRequestStorageNodeSetting'
tiflashNodeSetting:
example:
nodeCount: 3
nodeSpecKey: 16C128G
storageSizeGi: 500
storageType: Basic
description: "The TiFlash node setting for updating a cluster. \n\nTo get the node spec available configurations of a specific region for a cloud provider, refer to [List node specs](#tag/Region/operation/RegionService_ListNodeSpecs) API."
allOf:
- $ref: '#/definitions/v1beta1UpdateClusterRequestStorageNodeSetting'
displayName:
type: string
example: My Cluster
description: The display name of the cluster.
labels:
type: object
example: {}
additionalProperties:
type: string
description: "The labels of the cluster. Each label consists of a string key and a string value. \n\n**Note**: Currently, `labels` updates are not supported."
title: The updated cluster configuration.
- name: validateOnly
description: If set to `true`, the request is validated but not executed. Defaults to `false`.
in: query
required: false
type: boolean
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location --request PATCH 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}' --header 'Content-Type: application/json' --data '{\n \"displayName\": \"My Cluster Updated By API\",\n \"tikvNodeSetting\": {\n \"storageSizeGi\": 500\n }\n}'"
/clusters/{clusterId}:pauseCluster:
post:
summary: Pause a cluster
description: Pauses a cluster by ID.
operationId: ClusterService_PauseCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1beta1PauseClusterResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster to pause.
in: path
required: true
type: string
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location --request POST 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}:pauseCluster'"
/clusters/{clusterId}:resumeCluster:
post:
summary: Resume a cluster
description: Resumes a paused cluster. Only clusters in the `PAUSED` state can be resumed.
operationId: ClusterService_ResumeCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1beta1ResumeClusterResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster to resume.
in: path
required: true
type: string
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location --request POST 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}:resumeCluster'"
/clusters/{clusterId}:resetRootPassword:
post:
summary: Reset the root password of a cluster
description: 'Sets a new password for the cluster''s root user. The new password is not returned in the response for security reasons, so save your password in a secure location.
The cluster must be in the `READY` state. If the cluster is not `READY`, wait until it is before retrying.'
operationId: ClusterService_ResetRootPassword
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/dedicatedv1beta1ResetRootPasswordResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster for which to reset the root password.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1beta1ClusterServiceResetRootPasswordBody'
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}:resetRootPassword' --header 'Content-Type: application/json' --data '{\n \"rootPassword\": \"your_new_password\"\n}'"
/clusters:showNodeQuota:
get:
summary: List node quotas for your organization
description: Lists the node quotas for your organization, including the maximum number of nodes allowed for each component type.
operationId: ClusterService_ShowNodeQuota
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1beta1ShowNodeQuotaResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters:showNodeQuota'"
/clusters/{clusterId}/logRedactionPolicy:
get:
summary: Get log redaction policy
description: Gets the log redaction policy for a cluster.
operationId: ClusterService_GetLogRedactionPolicy
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/dedicatedv1beta1LogRedactionPolicy'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: clusterId
description: The ID of the cluster for which to get the log redaction policy.
in: path
required: true
type: string
tags:
- Cluster
x-code-samples:
- lang: curl
label: curl
source: "curl --digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n --location 'https://dedicated.tidbapi.com/v1beta1/clusters/{clusterId}/logRedactionPolicy'"
/clusters/{cluster.clusterId}:
patch:
summary: Update a TiDB Cloud Starter or Essential instance
operationId: ClusterService_PartialUpdateCluster
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apiserverlessv1beta1Cluster'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus_2'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus_2'
parameters:
- name: cluster.clusterId
description: The ID of the TiDB Cloud Starter or Essential instance to update.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1beta1ClusterServicePartialUpdateClusterBody'
tags:
- Cluster
x-codeSamples:
- label: curl
lang: cURL
source: "curl --location --request PATCH 'https://serverless.tidbapi.com/v1beta1/clusters/{cluster_id}' \\\n--digest --user 'YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json' \\\n--data '{\n \"updateMask\": \"displayName\",\n \"cluster\": {\n \"displayName\": \"test\",\n \"spendingLimit\": {\n \"monthly\": 10000\n },\n \"automatedBackupPolicy\": {\n \"startTime\": \"10:00\"\n },\n \"endpoints\": {\n \"public\": {\n \"disabled\": false,\n \"authorizedNetworks\": [\n {\n \"startIpAddress\": \"0.0.0.0\",\n \"endIpAddress\": \"255.255.255.255\",\n \"displayName\": \"allow-all\"\n }\n ]\n }\n },\n \"labels\": {\n \"label1\": \"label1\"\n },\n \"auditLogConfig\": {\n \"enabled\": true,\n \"unredacted\": true\n },\n \"autoScaling\": {\n \"minRcu\": 20000,\n \"maxRcu\": 30000\n }\n }\n}'"
/regions:
get:
summary: List available regions for an organization
description: Before creating a TiDB Cloud Starter or Essential instance, you can use this endpoint to list available regions in your organization.
operationId: ClusterService_ListRegions
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/tidb_cloud_open_apiserverlessv1beta1ListRegionsResponse'
'400':
description: A request field is invalid.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'401':
description: The API key cannot be authenticated.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'403':
description: The API key does not have permission to access the resource.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'429':
description: You have exceed the rate limit.
schema:
$ref: '#/definitions/googlerpcStatus_2'
'500':
description: Internal server error.
schema:
$ref: '#/definitions/googlerpcStatus_2'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus_2'
tags:
- Cluster
x-codeSamples:
- label: curl
lang: cURL
source: 'curl --location ''https://serverless.tidbapi.com/v1beta1/regions'' \
--digest --user ''YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY'' \
--header ''Accept: application/json'''
/api/v1beta/clusters/provider/regions:
get:
summary: List the cloud providers, regions and available specifications.
operationId: ListProviderRegions
responses:
'200':
description: A successful response.
schema:
type: object
properties:
items:
type: array
format: array
example:
- cluster_type: DEDICATED
cloud_provider: AWS
region: us-west-2
tidb:
- node_size: 8C16G
node_quantity_range:
min: 1
step: 1
tikv:
- node_size: 8C32G
node_quantity_range:
min: 3
step: 3
storage_size_gib_range:
min: 500
max: 4096
tiflash:
- node_size: 8C64G
node_quantity_range:
min: 0
step: 1
storage_size_gib_range:
min: 500
max: 2048
- cluster_type: DEVELOPER
cloud_provider: AWS
region: us-west-2
tidb:
- node_size: Shared0
node_quantity_range:
min: 1
step: 1
tikv:
- node_size: Shared0
node_quantity_range:
min: 1
step: 1
storage_size_gib_range:
min: 1
max: 1
tiflash:
- node_size: Shared0
node_quantity_range:
min: 1
step: 1
storage_size_gib_range:
min: 1
max: 1
items:
type: object
properties:
cluster_type:
format: enum
example: DEDICATED
description: 'The cluster type.
- `"DEVELOPER"`: a [TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/#tidb-cloud-serverless) cluster
- `"DEDICATED"`: a [TiDB Cloud Dedicated](https://docs.pingcap.com/tidbcloud/select-cluster-tier#tidb-cloud-dedicated) cluster.'
type: string
enum:
- DEDICATED
- DEVELOPER
cloud_provider:
format: string
example: AWS
description: 'The cloud provider on which your TiDB cluster is hosted.
- `"AWS"`: the Amazon Web Services cloud provider
- `"GCP"`: the Google Cloud cloud provider'
type: string
enum:
- AWS
- GCP
region:
type: string
example: us-west-2
description: 'The region in which your TiDB cluster is hosted.
For the detailed information on each region, refer to the documentation of the corresponding cloud provider ([AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) | [GCP](https://cloud.google.com/about/locations#americas)).
For example, `"us-west-2"` refers to Oregon for AWS.'
tidb:
type: array
items:
type: object
properties:
node_size:
type: string
example: 8C16G
description: The size of the TiDB component in the cluster.
node_quantity_range:
description: The range and step of node quantity of the TiDB component in the cluster.
type: object
properties:
min:
# --- truncated at 32 KB (243 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pingcap/refs/heads/main/openapi/pingcap-cluster-api-openapi.yml