{
  "swagger": "2.0",
  "info": {
    "title": "Control Plane Internal API",
    "description": "Control Plane Internal API.",
    "version": "v1"
  },
  "tags": [
    {
      "name": "ClusterService"
    },
    {
      "name": "ClusterCustomStatusService"
    },
    {
      "name": "RegionService"
    },
    {
      "name": "VpcPeeringService"
    },
    {
      "name": "DataPlaneService"
    },
    {
      "name": "OrganizationConfigService"
    }
  ],
  "basePath": "/inner/mgmt/v1",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/clusters/{clusterId}:showComponentNodeInfo": {
      "get": {
        "operationId": "ClusterService_ShowComponentNodeInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1ShowComponentNodeInfoResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "organizationId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "projectId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "ClusterService"
        ]
      }
    },
    "/clusters:countBillableClusters": {
      "post": {
        "operationId": "ClusterService_CountBillableClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1CountBillableClustersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1CountBillableClustersRequest"
            }
          }
        ],
        "tags": [
          "ClusterService"
        ]
      }
    },
    "/clusters/{clusterId}:updateRuVersion": {
      "put": {
        "summary": "Update ru_version for a cluster (Essential or Premium). Internal ops only.",
        "operationId": "ClusterService_UpdateClusterRuVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClusterServiceUpdateClusterRuVersionBody"
            }
          }
        ],
        "tags": [
          "ClusterService"
        ]
      }
    },
    "/clusters/{clusterId}:addLabels": {
      "patch": {
        "operationId": "ClusterService_AddClusterLabels",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClusterServiceAddClusterLabelsBody"
            }
          }
        ],
        "tags": [
          "ClusterService"
        ]
      }
    },
    "/cloudProviders": {
      "get": {
        "operationId": "RegionService_ListCloudProviders",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1ListCloudProvidersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "deployType",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "servicePlan",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Starter",
              "Essential",
              "Premium",
              "BYOC",
              "Premium_Reserved",
              "Essential_V2"
            ]
          },
          {
            "name": "organizationId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "pageSize",
            "description": "The maximum number of cloud providers to return in each response.\nThe server may return fewer than this at its discretion.\nIf no value is specified, a default value of 100 will be used.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "tags": [
          "RegionService"
        ]
      },
      "post": {
        "operationId": "RegionService_RegisterCloudProvider",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1CloudProvider"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "cloudProvider",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1CloudProvider"
            }
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions": {
      "get": {
        "operationId": "RegionService_ListRegions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1ListRegionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "deployType",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "servicePlan",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Starter",
              "Essential",
              "Premium",
              "BYOC",
              "Premium_Reserved",
              "Essential_V2"
            ]
          },
          {
            "name": "organizationId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "engineType",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "pageSize",
            "description": "The maximum number of regions to return in each response.\nThe server may return fewer than this at its discretion.\nIf no value is specified, a default value of 100 will be used.",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "tags": [
          "RegionService"
        ]
      },
      "post": {
        "operationId": "RegionService_RegisterRegion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Region"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "region",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Region"
            }
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{regionLogicalName}": {
      "get": {
        "operationId": "RegionService_GetRegion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Region"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "cloudProviderId",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "AWS",
              "GCP",
              "AZURE",
              "ALICLOUD"
            ]
          },
          {
            "name": "servicePlan",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Starter",
              "Essential",
              "Premium",
              "BYOC",
              "Premium_Reserved",
              "Essential_V2"
            ]
          },
          {
            "name": "engineType",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "RegionService"
        ]
      },
      "delete": {
        "operationId": "RegionService_DeleteRegion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "cloudProviderId",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "AWS",
              "GCP",
              "AZURE",
              "ALICLOUD"
            ]
          },
          {
            "name": "servicePlan",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Starter",
              "Essential",
              "Premium",
              "BYOC",
              "Premium_Reserved",
              "Essential_V2"
            ]
          },
          {
            "name": "engineType",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{regionId}:selectByOrganization": {
      "get": {
        "operationId": "RegionService_SelectRegionByOrganizationId",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Region"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionId",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "AWS_US_EAST_2",
              "AWS_US_EAST_1",
              "AWS_US_WEST_1",
              "AWS_US_WEST_2",
              "AWS_AF_SOUTH_1",
              "AWS_AP_EAST_1",
              "AWS_AP_SOUTH_2",
              "AWS_AP_SOUTHEAST_3",
              "AWS_AP_SOUTHEAST_4",
              "AWS_AP_SOUTH_1",
              "AWS_AP_NORTHEAST_3",
              "AWS_AP_NORTHEAST_2",
              "AWS_AP_SOUTHEAST_1",
              "AWS_AP_SOUTHEAST_2",
              "AWS_AP_NORTHEAST_1",
              "AWS_CA_CENTRAL_1",
              "AWS_CA_WEST_1",
              "AWS_EU_CENTRAL_1",
              "AWS_EU_WEST_1",
              "AWS_EU_WEST_2",
              "AWS_EU_SOUTH_1",
              "AWS_EU_WEST_3",
              "AWS_EU_SOUTH_2",
              "AWS_EU_NORTH_1",
              "AWS_EU_CENTRAL_2",
              "AWS_IL_CENTRAL_1",
              "AWS_ME_SOUTH_1",
              "AWS_ME_CENTRAL_1",
              "AWS_SA_EAST_1",
              "AWS_AP_SOUTHEAST_5",
              "AWS_AP_SOUTHEAST_6",
              "AWS_AP_SOUTHEAST_7",
              "AWS_MX_CENTRAL_1",
              "GCP_ASIA_EAST1",
              "GCP_ASIA_EAST2",
              "GCP_ASIA_NORTHEAST1",
              "GCP_ASIA_NORTHEAST2",
              "GCP_ASIA_NORTHEAST3",
              "GCP_ASIA_SOUTH1",
              "GCP_ASIA_SOUTH2",
              "GCP_ASIA_SOUTHEAST1",
              "GCP_ASIA_SOUTHEAST2",
              "GCP_AUSTRALIA_SOUTHEAST1",
              "GCP_AUSTRALIA_SOUTHEAST2",
              "GCP_EUROPE_CENTRAL2",
              "GCP_EUROPE_NORTH1",
              "GCP_EUROPE_SOUTHWEST1",
              "GCP_EUROPE_WEST1",
              "GCP_EUROPE_WEST10",
              "GCP_EUROPE_WEST12",
              "GCP_EUROPE_WEST2",
              "GCP_EUROPE_WEST3",
              "GCP_EUROPE_WEST4",
              "GCP_EUROPE_WEST6",
              "GCP_EUROPE_WEST8",
              "GCP_EUROPE_WEST9",
              "GCP_ME_CENTRAL1",
              "GCP_ME_CENTRAL2",
              "GCP_ME_WEST1",
              "GCP_NORTHAMERICA_NORTHEAST1",
              "GCP_NORTHAMERICA_NORTHEAST2",
              "GCP_SOUTHAMERICA_EAST1",
              "GCP_SOUTHAMERICA_WEST1",
              "GCP_US_CENTRAL1",
              "GCP_US_EAST1",
              "GCP_US_EAST4",
              "GCP_US_EAST5",
              "GCP_US_SOUTH1",
              "GCP_US_WEST1",
              "GCP_US_WEST2",
              "GCP_US_WEST3",
              "GCP_US_WEST4",
              "AZURE_EASTUS",
              "AZURE_SOUTHCENTRALUS",
              "AZURE_WESTUS2",
              "AZURE_WESTUS3",
              "AZURE_AUSTRALIAEAST",
              "AZURE_SOUTHEASTASIA",
              "AZURE_NORTHEUROPE",
              "AZURE_SWEDENCENTRAL",
              "AZURE_UKSOUTH",
              "AZURE_WESTEUROPE",
              "AZURE_CENTRALUS",
              "AZURE_SOUTHAFRICANORTH",
              "AZURE_CENTRALINDIA",
              "AZURE_EASTASIA",
              "AZURE_JAPANEAST",
              "AZURE_KOREACENTRAL",
              "AZURE_CANADACENTRAL",
              "AZURE_FRANCECENTRAL",
              "AZURE_GERMANYWESTCENTRAL",
              "AZURE_ITALYNORTH",
              "AZURE_NORWAYEAST",
              "AZURE_POLANDCENTRAL",
              "AZURE_SPAINCENTRAL",
              "AZURE_SWITZERLANDNORTH",
              "AZURE_MEXICOCENTRAL",
              "AZURE_UAENORTH",
              "AZURE_BRAZILSOUTH",
              "AZURE_ISRAELCENTRAL",
              "AZURE_QATARCENTRAL",
              "AZURE_CENTRALUSSTAGE",
              "AZURE_EASTUSSTAGE",
              "AZURE_EASTUS2STAGE",
              "AZURE_NORTHCENTRALUSSTAGE",
              "AZURE_SOUTHCENTRALUSSTAGE",
              "AZURE_WESTUSSTAGE",
              "AZURE_WESTUS2STAGE",
              "AZURE_ASIA",
              "AZURE_ASIAPACIFIC",
              "AZURE_AUSTRALIA",
              "AZURE_BRAZIL",
              "AZURE_CANADA",
              "AZURE_EUROPE",
              "AZURE_FRANCE",
              "AZURE_GERMANY",
              "AZURE_GLOBAL",
              "AZURE_INDIA",
              "AZURE_ISRAEL",
              "AZURE_ITALY",
              "AZURE_JAPAN",
              "AZURE_KOREA",
              "AZURE_NEWZEALAND",
              "AZURE_NORWAY",
              "AZURE_POLAND",
              "AZURE_QATAR",
              "AZURE_SINGAPORE",
              "AZURE_SOUTHAFRICA",
              "AZURE_SWEDEN",
              "AZURE_SWITZERLAND",
              "AZURE_UAE",
              "AZURE_UK",
              "AZURE_UNITEDSTATES",
              "AZURE_UNITEDSTATESEUAP",
              "AZURE_EASTASIASTAGE",
              "AZURE_SOUTHEASTASIASTAGE",
              "AZURE_BRAZILUS",
              "AZURE_EASTUS2",
              "AZURE_EASTUSSTG",
              "AZURE_NORTHCENTRALUS",
              "AZURE_WESTUS",
              "AZURE_JAPANWEST",
              "AZURE_JIOINDIAWEST",
              "AZURE_CENTRALUSEUAP",
              "AZURE_EASTUS2EUAP",
              "AZURE_WESTCENTRALUS",
              "AZURE_SOUTHAFRICAWEST",
              "AZURE_AUSTRALIACENTRAL",
              "AZURE_AUSTRALIACENTRAL2",
              "AZURE_AUSTRALIASOUTHEAST",
              "AZURE_JIOINDIACENTRAL",
              "AZURE_KOREASOUTH",
              "AZURE_SOUTHINDIA",
              "AZURE_WESTINDIA",
              "AZURE_CANADAEAST",
              "AZURE_FRANCESOUTH",
              "AZURE_GERMANYNORTH",
              "AZURE_NORWAYWEST",
              "AZURE_SWITZERLANDWEST",
              "AZURE_UKWEST",
              "AZURE_UAECENTRAL",
              "AZURE_BRAZILSOUTHEAST",
              "ALICLOUD_AP_SOUTHEAST_1",
              "ALICLOUD_AP_NORTHEAST_1",
              "ALICLOUD_AP_NORTHEAST_2",
              "ALICLOUD_AP_SOUTHEAST_3",
              "ALICLOUD_AP_SOUTHEAST_5",
              "ALICLOUD_AP_SOUTHEAST_6",
              "ALICLOUD_AP_SOUTHEAST_7",
              "ALICLOUD_NA_SOUTH_1",
              "ALICLOUD_US_WEST_1",
              "ALICLOUD_US_EAST_1",
              "ALICLOUD_EU_CENTRAL_1",
              "ALICLOUD_EU_WEST_1",
              "ALICLOUD_ME_EAST_1",
              "ALICLOUD_ME_CENTRAL_1",
              "ALICLOUD_CN_HONGKONG"
            ]
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "cloudProviderId",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "AWS",
              "GCP",
              "AZURE",
              "ALICLOUD"
            ]
          },
          {
            "name": "organizationId",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "servicePlan",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "Starter",
              "Essential",
              "Premium",
              "BYOC",
              "Premium_Reserved",
              "Essential_V2"
            ]
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{region.region.logicalName}": {
      "put": {
        "operationId": "RegionService_UpdateRegion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1Region"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "region.region.logicalName",
            "description": "logic region name, such as \"cn-north-1\" , if local name is not equal to id , is a byoc region and only set public to false",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "region",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "$ref": "#/definitions/v1RegionName"
                    },
                    "cloudProviderId": {
                      "$ref": "#/definitions/v1CloudProviderName"
                    },
                    "displayName": {
                      "type": "string",
                      "title": "display name of the region"
                    },
                    "openedTenantIds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "uint64"
                      },
                      "title": "if public is false, only these tenants can use this region"
                    },
                    "sortPriority": {
                      "type": "integer",
                      "format": "int32",
                      "title": "not used now"
                    },
                    "area": {
                      "type": "string",
                      "title": "for example: Europe, Americas"
                    },
                    "countryCode": {
                      "type": "string",
                      "title": "such as: CN, US"
                    },
                    "state": {
                      "title": "region state, if state is inactive, the region is not available, can not use it",
                      "allOf": [
                        {
                          "$ref": "#/definitions/commonv1RegionState"
                        }
                      ]
                    },
                    "isPublic": {
                      "type": "boolean",
                      "title": "whether the region is public, if true, all organizations can use it"
                    },
                    "defaultBackupTime": {
                      "type": "string",
                      "title": "cluster's default auto backup time in this region(dataflow-service), such as \"10:00\""
                    },
                    "serviceAddress": {
                      "type": "string",
                      "title": "regional service address"
                    },
                    "servicePlan": {
                      "title": "service plan of the region, if not set, use default service plan",
                      "allOf": [
                        {
                          "$ref": "#/definitions/commonv1ServicePlan"
                        }
                      ]
                    },
                    "sharedBucketUrl": {
                      "type": "string",
                      "x-nullable": true,
                      "title": "shared bucket url of the region, if not set, keep empty"
                    },
                    "opsAuditLogSetting": {
                      "title": "ops audit log setting of the region",
                      "allOf": [
                        {
                          "$ref": "#/definitions/v1RegionOpsAuditLogSetting"
                        }
                      ]
                    },
                    "regionWhiteLists": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$ref": "#/definitions/v1RegionWhiteList"
                      }
                    },
                    "engineType": {
                      "$ref": "#/definitions/v1RegionEngineType"
                    },
                    "sys9Config": {
                      "$ref": "#/definitions/v1RegionSys9Config"
                    }
                  }
                },
                "deployType": {
                  "$ref": "#/definitions/v1DeployType"
                },
                "regionProviderIdentities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/v1RegionProviderIdentity"
                  }
                },
                "defaultProviderIdentities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/v1DefaultRegionProviderIdentity"
                  }
                }
              },
              "required": [
                "id",
                "cloudProviderId",
                "displayName",
                "region"
              ]
            }
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{regionLogicalName}:checkStatus": {
      "get": {
        "operationId": "RegionService_CheckRegionStatus",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "cloudProviderId",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "AWS",
              "GCP",
              "AZURE",
              "ALICLOUD"
            ]
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{regionLogicalName}/opsAuditLogSetting": {
      "patch": {
        "summary": "only for byoc internal use",
        "operationId": "RegionService_UpdateRegionOpsAuditLogSetting",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1UpdateRegionOpsAuditLogSettingResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          },
          {
            "name": "opsAuditLogSetting.enabled",
            "in": "query",
            "required": true,
            "type": "boolean"
          },
          {
            "name": "opsAuditLogSetting.logLocation.type",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "TYPE_STANDARD",
              "TYPE_CUSTOMIZED"
            ]
          },
          {
            "name": "opsAuditLogSetting.logLocation.bucketUri",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "opsAuditLogSetting.logLocation.roleArn",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "opsAuditLogSetting.logLocation.externalId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "opsAuditLogSetting.logLocation.accountId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "opsAuditLogSetting.logRotation.fileSizeLimitInMb",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "opsAuditLogSetting.logRotation.rotationIntervalInMin",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/regions/{regionLogicalName}/providerIdentities": {
      "get": {
        "summary": "only for nextgen(premium and byoc) internal use",
        "operationId": "RegionService_ListRegionProviderIdentities",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1ListRegionProviderIdentitiesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "deployType",
            "in": "query",
            "required": true,
            "type": "string",
            "enum": [
              "DEPLOY_TYPE_DEDICATED",
              "DEPLOY_TYPE_SERVERLESS",
              "DEPLOY_TYPE_NEXTGEN"
            ]
          }
        ],
        "tags": [
          "RegionService"
        ]
      },
      "post": {
        "summary": "only for nextgen(premium and byoc) internal use",
        "operationId": "RegionService_RegisterRegionProviderIdentity",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1RegionProviderIdentity"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "regionLogicalName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/tidb_mgmt_servicev1RegionServiceRegisterRegionProviderIdentityBody"
            }
          }
        ],
        "tags": [
          "RegionService"
        ]
      }
    },
    "/dataplane/clusters/{clusterId}": {
      "get": {
        "operationId": "DataPlaneService_GetCompatCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1CompatCluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "showDeleted",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "tags": [
          "DataPlaneService"
        ]
      }
    },
    "/dataplane/networks/{projectId}/{providerName}/{regionName}": {
      "get": {
        "operationId": "DataPlaneService_GetCompatNetwork",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1CompatNetwork"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "providerName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "regionName",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "DataPlaneService"
        ]
      }
    },
    "/dataplane/providers/{providerName}": {
      "get": {
        "operationId": "DataPlaneService_GetCompatProvider",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1CompatProvider"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "providerName",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "DataPlaneService"
        ]
      }
    },
    "/organizationConfigs/{organizationId}/ruVersion": {
      "get": {
        "summary": "Get default ru_version for an organization.",
        "operationId": "OrganizationConfigService_GetOrganizationDefaultRuVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1OrganizationRuConfig"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "OrganizationConfigService"
        ]
      },
      "put": {
        "summary": "Set default ru_version for an organization. Affects future cluster creation only.",
        "operationId": "OrganizationConfigService_UpdateOrganizationDefaultRuVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1OrganizationRuConfig"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OrganizationConfigServiceUpdateOrganizationDefaultRuVersionBody"
            }
          }
        ],
        "tags": [
          "OrganizationConfigService"
        ]
      }
    }
  },
  "definitions": {
    "AwsNodeSubnet": {
      "type": "object",
      "properties": {
        "subnetId": {
          "type": "string"
        },
        "availabilityZone": {
          "type": "string"
        },
        "availabilityZoneId": {
          "type": "string"
        }
      }
    },
    "BuildComponentSpecDiffReportsResponseReport": {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string",
          "format": "uint64"
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "clusterId": {
          "type": "string",
          "format": "uint64"
        },
        "clusterName": {
          "type": "string"
        },
        "currentDefaultComponents": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ClusterClusterComponent"
          }
        },
        "currentEffectiveComponents": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ClusterClusterComponent"
          }
        }
      }
    },
    "ClusterApplyMaskComponentApplyMask": {
      "type": "object",
      "properties": {
        "componentType": {
          "$ref": "#/definitions/globaldedicatedv1ComponentType"
        },
        "configuration": {
          "type": "boolean"
        },
        "image": {
          "type": "boolean"
        }
      },
      "required": [
        "componentType"
      ]
    },
    "ClusterApplyMaskStrategy": {
      "type": "string",
      "enum": [
        "ROLLING_RESTART",
        "HOT_RELOAD",
        "CHANGE_CM_ONLY",
        "ENSURE_UPDATE_TO_TC"
      ],
      "description": " - CHANGE_CM_ONLY: CHANGE_CM_ONLY means only change config content into ConfigMap but don't do extra\napply operations(such as hotReload or rollingRestart) to apply it to component.\nNote: There are some components may periodically reload config, so these components still use the new configuration\neven if without apply operations.\n\nThis Strategy is useful for ShutdownOperation, such as 'Shutdown for Config Change' which we will recreate all pods of cluster.\n - ENSURE_UPDATE_TO_TC: EnsureUpdateToTC is similar with CHANGE_CM_ONLY but without checking whether\nconfig content is applied to ConfigMaps."
    },
    "ClusterClusterComponent": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "componentType": {
          "$ref": "#/definitions/globaldedicatedv1ComponentType"
        },
        "spuName": {
          "type": "string",
          "description": "8C16G\nWhen new component, the spu_name is required.\nWhen update component, the spu_name is optional. Empty means do not change spu."
        },
        "spuKey": {
          "type": "string",
          "title": "8C16G:DEPLOY_TYPE_DEDICATED:COMPONENT_TYPE_TIDB",
          "readOnly": true
        },
        "spuDisplayName": {
          "type": "string",
          "title": "8 vCPU, 16 GiB",
          "readOnly": true
        },
        "spuVersion": {
          "type": "string",
          "readOnly": true
        },
        "skuKey": {
          "type": "string",
          "title": "aws:tidb:c5.2xlarge:local-storage:0:0",
          "readOnly": true
        },
        "count": {
          "type": "integer",
          "format": "int64",
          "x-nullable": true,
          "description": "Required when creating. Optional when scaling.\nTiFlash can have 0 count ClusterComponent."
        },
        "storages": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ClusterClusterComponentStorage"
          },
          "description": "The key is the disk type."
        },
        "tidbGroupId": {
          "type": "string",
          "format": "uint64",
          "description": "For non-tidb components, the tidb_group_id is the default TiDB group id."
        },
        "isDefaultTidbGroup": {
          "type": "boolean",
          "readOnly": true
        },
        "tidbGroupDisplayName": {
          "type": "string",
          "readOnly": true
        },
        "instanceType": {
          "type": "string",
          "readOnly": true
        },
        "cpuNum": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "memorySizeGi": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "instanceCpuArch": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/InstanceMuCpuArch"
            }
          ]
        },
        "instanceCpuGeneration": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/InstanceMuCpuGeneration"
            }
          ]
        },
        "modifyProgress": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/ClusterComponentModifyProgress"
            }
          ]
        },
        "meteringSkuKeys": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "node:aws:us-west-2:DEPLOY_TYPE_DEDICATED:m6g.8xlarge",
          "readOnly": true
        }
      },
      "required": [
        "componentType"
      ]
    },
    "ClusterClusterComponentStorage": {
      "type": "object",
      "properties": {
        "storageId": {
          "type": "string",
          "format": "uint64",
          "description": "Cluster storage component id.",
          "readOnly": true
        },
        "componentId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "diskType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/SkuDiskType"
            }
          ]
        },
        "sizeGi": {
          "type": "integer",
          "format": "int64",
          "description": "When creating component, 0 size means use the default size.\nSize changes only when explicitly requested. When updating component, 0 size means do not change the size."
        },
        "iops": {
          "type": "integer",
          "format": "int64",
          "description": "If not set use the value from SKU, no matter create or update. If selected sku changed at the same time, the iops could be changed at the same time."
        },
        "throughputMibps": {
          "type": "integer",
          "format": "int64",
          "description": "If not set use the value from SKU, no matter create or update. If selected sku changed at the same time, the throughput could be changed at the same time."
        },
        "volumeType": {
          "description": "In creating or updating request, UNSPECIFIED means not to provision this disk.\nIn creating request, null means ignoring volume_type filter when selecting sku.\nIn updating request, null means do not change volume_type (use current volume type).\nIn response, UNSPECIFIED and null have the same meaning -- this type of disk is not provisioned.",
          "allOf": [
            {
              "$ref": "#/definitions/StorageMuVolumeType"
            }
          ]
        },
        "additionalIops": {
          "type": "integer",
          "format": "int64",
          "x-nullable": true,
          "description": "Only take effect when iops is not set. Final effective iops = SKU iops + additional_iops.\nIn creating or updating request, 0 means explicitly set to 0.\nIn creating request, 0 and null have the same meaning -- set to 0.\nIn updating request, null means do not change additional_iops, 0 means set to 0.\nIn response, 0 and null have the same meaning -- set to 0."
        },
        "meteringSkuKeys": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "title": "disk-storage:aws:us-west-2:Standard_Optimized:data:gp3",
          "readOnly": true
        }
      }
    },
    "ClusterComponentModifyProgress": {
      "type": "object",
      "properties": {
        "uptodateQuantity": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "remainingDeletionQuantity": {
          "type": "integer",
          "format": "int32",
          "title": "available if some nodes are deleting",
          "readOnly": true
        }
      }
    },
    "ClusterConfigurationComponentConfiguration": {
      "type": "object",
      "properties": {
        "componentType": {
          "$ref": "#/definitions/globaldedicatedv1ComponentType"
        },
        "customParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ComponentConfigurationParamItem"
          }
        },
        "overwriteImageTag": {
          "type": "string"
        }
      },
      "required": [
        "componentType"
      ]
    },
    "ClusterCustomStatusCustomMutex": {
      "type": "object",
      "properties": {
        "statusType": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1CustomStatusType"
          },
          "readOnly": true
        },
        "clusterAction": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1ClusterAction"
          },
          "readOnly": true
        }
      }
    },
    "ClusterServiceAddClusterLabelsBody": {
      "type": "object",
      "properties": {
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "required": [
        "labels"
      ]
    },
    "ClusterServiceUpdateClusterRuVersionBody": {
      "type": "object",
      "properties": {
        "ruVersion": {
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "ruVersion"
      ]
    },
    "ClusterStorageNodeSettingStorageType": {
      "type": "string",
      "enum": [
        "Basic",
        "Standard",
        "Performance",
        "Plus"
      ],
      "description": " - Basic: Data disk: gp3; Raft log disk: none.\n - Standard: Data disk: gp3; Raft log disk: gp3.\n - Performance: Data disk: gp3; Raft log disk: io2.\n - Plus: Data disk: io2; Raft log disk: none."
    },
    "CompatClusterClusterTopology": {
      "type": "object",
      "properties": {
        "tidb": {
          "$ref": "#/definitions/CompatClusterClusterTopologyComponent"
        },
        "tikv": {
          "$ref": "#/definitions/CompatClusterClusterTopologyComponent"
        },
        "pd": {
          "$ref": "#/definitions/CompatClusterClusterTopologyComponent"
        },
        "tiflash": {
          "$ref": "#/definitions/CompatClusterClusterTopologyComponent"
        },
        "tiproxy": {
          "$ref": "#/definitions/CompatClusterClusterTopologyComponent"
        }
      }
    },
    "CompatClusterClusterTopologyComponent": {
      "type": "object",
      "properties": {
        "replicas": {
          "type": "integer",
          "format": "int32"
        },
        "instanceType": {
          "type": "string"
        }
      }
    },
    "CompatClusterNodeRole": {
      "type": "object",
      "properties": {
        "cloudIamIdentity": {
          "type": "string",
          "title": "aws role or gcp serviceaccount"
        },
        "externalId": {
          "type": "string"
        }
      }
    },
    "CompatNetworkAzure": {
      "type": "object",
      "properties": {
        "nodeZones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nodeSubnetIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "podSubnetIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "resourceGroup": {
          "type": "string"
        }
      }
    },
    "CompatNetworkIAM": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        }
      }
    },
    "CompatProviderCompatRegion": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "zones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ComponentConfigurationParamItem": {
      "type": "object",
      "properties": {
        "value": {},
        "comment": {
          "type": "string"
        }
      }
    },
    "ComponentNode": {
      "type": "object",
      "properties": {
        "instanceName": {
          "type": "string"
        },
        "state": {
          "$ref": "#/definitions/ComponentNodeState"
        },
        "cpu": {
          "type": "integer",
          "format": "int64"
        },
        "memorySizeGi": {
          "type": "integer",
          "format": "int64"
        },
        "storageSizeGi": {
          "type": "integer",
          "format": "int64",
          "description": "Deprecated fields: Use `storages` field instead."
        },
        "storageIops": {
          "type": "integer",
          "format": "int64"
        },
        "storageThroughputMibps": {
          "type": "integer",
          "format": "int64"
        },
        "volumeType": {
          "$ref": "#/definitions/StorageMuVolumeType"
        },
        "availabilityZone": {
          "type": "string"
        },
        "instanceType": {
          "type": "string"
        },
        "meteringSkuKeys": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          }
        },
        "storages": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ComponentNodeInfoComponentStorage"
          }
        },
        "nodeSpecName": {
          "type": "string"
        },
        "nodeSpecDisplayName": {
          "type": "string"
        },
        "nodeSpecVersion": {
          "type": "string"
        }
      }
    },
    "ComponentNodeInfoComponentStorage": {
      "type": "object",
      "properties": {
        "storageSizeGi": {
          "type": "integer",
          "format": "int64"
        },
        "storageIops": {
          "type": "integer",
          "format": "int64"
        },
        "storageThroughputMibps": {
          "type": "integer",
          "format": "int64"
        },
        "additionalIops": {
          "type": "integer",
          "format": "int64"
        },
        "volumeType": {
          "$ref": "#/definitions/StorageMuVolumeType"
        },
        "meteringSkuKeys": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int64"
          },
          "description": "The value is usage value of the SKU."
        }
      }
    },
    "ComponentNodeState": {
      "type": "string",
      "enum": [
        "AVAILABLE",
        "UNAVAILABLE",
        "CREATING",
        "DELETING"
      ]
    },
    "InstanceMuCpuArch": {
      "type": "string",
      "enum": [
        "AMD64",
        "ARM64"
      ],
      "description": " - AMD64: Amd64 is the same thing as x86_64."
    },
    "InstanceMuCpuGeneration": {
      "type": "string",
      "enum": [
        "GRAVITON2",
        "GRAVITON3",
        "GRAVITON4",
        "GENERATION1_INTEL_XEON",
        "GENERATION2_INTEL_XEON",
        "GENERATION2_AMD_EPYC",
        "GENERATION4_INTEL_XEON",
        "GENERATION4_AXION",
        "GENERATION4_AMD_EPYC",
        "AMPERE_ALTRA",
        "COBALT_100"
      ],
      "description": " - GRAVITON2: AWS self developed arm processors.\n - GENERATION1_INTEL_XEON: GCP. Refer to https://cloud.google.com/compute/docs/machine-resource#machine_type_comparison.\n - AMPERE_ALTRA: Azure.\nArm.\n - COBALT_100: Azure self developed arm64 processors."
    },
    "OrganizationConfigServiceUpdateOrganizationDefaultRuVersionBody": {
      "type": "object",
      "properties": {
        "defaultRuVersion": {
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "defaultRuVersion"
      ]
    },
    "ReservedCapacityTemplateWorkload": {
      "type": "object",
      "properties": {
        "workloadType": {
          "$ref": "#/definitions/ReservedCapacityTemplateWorkloadType"
        },
        "qpsMin": {
          "type": "string",
          "format": "int64"
        },
        "qpsMax": {
          "type": "string",
          "format": "int64"
        },
        "dataSizeGibMin": {
          "type": "string",
          "format": "int64"
        },
        "dataSizeGibMax": {
          "type": "string",
          "format": "int64"
        },
        "p99ResponseLatencyMin": {
          "type": "string",
          "format": "int64"
        },
        "p99ResponseLatencyMax": {
          "type": "string",
          "format": "int64"
        }
      },
      "required": [
        "workloadType"
      ]
    },
    "ReservedCapacityTemplateWorkloadType": {
      "type": "string",
      "enum": [
        "READ",
        "WRITE",
        "MIXED"
      ]
    },
    "RestoreDedicatedClusterRequestComputeComp": {
      "type": "object",
      "properties": {
        "spuName": {
          "type": "string"
        },
        "count": {
          "type": "integer",
          "format": "int32"
        }
      },
      "required": [
        "spuName",
        "count"
      ]
    },
    "RestoreDedicatedClusterRequestStorageComp": {
      "type": "object",
      "properties": {
        "spuName": {
          "type": "string"
        },
        "count": {
          "type": "integer",
          "format": "int32",
          "description": "Count of TiFlash can be 0."
        },
        "sizeGi": {
          "type": "integer",
          "format": "int32",
          "description": "If size not set, use default size in selected sku."
        },
        "storageType": {
          "description": "If storage_type not set, backend choose the default type of storage.",
          "allOf": [
            {
              "$ref": "#/definitions/ClusterStorageNodeSettingStorageType"
            }
          ]
        },
        "dataStoreIops": {
          "type": "integer",
          "format": "int32",
          "description": "IOPS of the TiKV DATA disk. Only for tikv, and only supported for AWS clusters with Plus storage type."
        },
        "raftIops": {
          "type": "integer",
          "format": "int32",
          "description": "Only for tikv."
        },
        "additionalIops": {
          "type": "integer",
          "format": "int32",
          "description": "Additional IOPS for DATA disk. Final IOPS = SKU base IOPS + additional_iops."
        }
      },
      "required": [
        "spuName"
      ]
    },
    "ServerlessServiceClusterAttributes": {
      "type": "object",
      "properties": {
        "withBuiltinCdcAdminRole": {
          "type": "boolean",
          "x-nullable": true
        }
      }
    },
    "SkuDiskType": {
      "type": "string",
      "enum": [
        "DATA",
        "RAFT_LOG"
      ]
    },
    "StorageMuVolumeType": {
      "type": "string",
      "enum": [
        "GP3",
        "IO2",
        "PD_SSD",
        "PREMIUMV2",
        "ULTRASSD",
        "HYPERDISK_BALANCED",
        "HYPERDISK_EXTREME",
        "GP2",
        "LOCAL_STORAGE"
      ],
      "title": "- GP3: AWS\n - PD_SSD: GCP\n - PREMIUMV2: Azure\n - HYPERDISK_BALANCED: GCP Hyperdisk Balanced\n - GP2: Deprecated"
    },
    "StorageSpecStorageName": {
      "type": "string",
      "enum": [
        "DATA",
        "RAFTLOG",
        "SLOWLOG"
      ]
    },
    "commonv1RegionState": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "INACTIVE"
      ]
    },
    "commonv1ServicePlan": {
      "type": "string",
      "enum": [
        "Starter",
        "Essential",
        "Premium",
        "BYOC",
        "Premium_Reserved",
        "Essential_V2"
      ]
    },
    "commonv1beta1ClusterState": {
      "type": "string",
      "enum": [
        "CREATING",
        "DELETING",
        "ACTIVE",
        "RESTORING",
        "MAINTENANCE",
        "DELETED",
        "INACTIVE",
        "UPGRADING",
        "IMPORTING",
        "MODIFYING",
        "PAUSING",
        "PAUSED",
        "RESUMING"
      ],
      "description": "Enum of possible states of a cluster.\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."
    },
    "commonv1beta1ServicePlan": {
      "type": "string",
      "enum": [
        "Starter",
        "Essential",
        "Premium",
        "BYOC",
        "Dedicated",
        "Premium_Reserved",
        "Essential_V2"
      ]
    },
    "commonv1beta1Tag": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "tags/aaa:bbb",
          "description": "The unique name of the tag, in the format `tags/{key}:{value}`.",
          "pattern": "^tags/(.+):(.+)$"
        },
        "key": {
          "type": "string",
          "example": "env",
          "description": "The key of the tag."
        },
        "value": {
          "type": "string",
          "example": "prod",
          "description": "The value of the tag."
        }
      },
      "required": [
        "key",
        "value"
      ]
    },
    "dedicatedv1ClusterPausePlan": {
      "type": "object",
      "properties": {
        "pausePlan": {
          "$ref": "#/definitions/dedicatedv1ClusterPausePlanType"
        },
        "pauseTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "scheduledResumeTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "pausePlan"
      ]
    },
    "dedicatedv1ClusterPausePlanType": {
      "type": "string",
      "enum": [
        "NORMAL",
        "LONG"
      ],
      "title": "- LONG: not supported yet"
    },
    "dedicatedv1TidbNodeGroupEndpoint": {
      "type": "object",
      "properties": {
        "tidbGroupId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "publicEndpoint": {
          "$ref": "#/definitions/v1TidbNodeGroupEndpointPublicEndpoint"
        },
        "vpcPeeringEndpoint": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1TidbNodeGroupEndpointVpcPeeringEndpoint"
            }
          ]
        },
        "privateLinkEndpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1TidbNodeGroupEndpointPrivateLinkEndpoint"
          },
          "description": "On GCP and Azure, different endpoints of a private link service have different hostnames.",
          "readOnly": true
        }
      }
    },
    "dedicatedv1beta1TidbNodeGroupTiProxySetting": {
      "type": "object",
      "properties": {
        "nodeSpecKey": {
          "type": "string",
          "example": "2C4G",
          "description": "The node spec key of the TiProxy nodes in the cluster. For example, `2C4G`.\n\nTo view available node specs, use the [List node specs](#tag/RegionService/operation/RegionService_ListNodeSpecs) endpoint."
        },
        "nodeSpecVersion": {
          "type": "string",
          "readOnly": true
        },
        "nodeCount": {
          "type": "integer",
          "format": "int32",
          "x-nullable": true,
          "example": 2,
          "description": "The number of TiProxy nodes in the TiDB group. If not specified or set to `0`, TiProxy is disabled."
        },
        "nodeSpecDisplayName": {
          "type": "string",
          "example": "2 vCPU, 4 GiB",
          "description": "The display name of the TiProxy node spec. For example, `2 vCPU, 4 GiB`.",
          "readOnly": true
        }
      },
      "required": [
        "nodeSpecKey"
      ]
    },
    "globalcommonv1CloudProvider": {
      "type": "object",
      "properties": {
        "id": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "displayName": {
          "type": "string"
        },
        "state": {
          "$ref": "#/definitions/v1CloudProviderState"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/globalcommonv1Region"
          }
        },
        "isPublic": {
          "type": "boolean"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "servicePlans": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/commonv1ServicePlan"
          }
        }
      },
      "required": [
        "id",
        "displayName"
      ]
    },
    "globalcommonv1Region": {
      "type": "object",
      "properties": {
        "id": {
          "$ref": "#/definitions/v1RegionName"
        },
        "cloudProviderId": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "displayName": {
          "type": "string",
          "title": "display name of the region"
        },
        "openedTenantIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          },
          "title": "if public is false, only these tenants can use this region"
        },
        "sortPriority": {
          "type": "integer",
          "format": "int32",
          "title": "not used now"
        },
        "area": {
          "type": "string",
          "title": "for example: Europe, Americas"
        },
        "countryCode": {
          "type": "string",
          "title": "such as: CN, US"
        },
        "state": {
          "title": "region state, if state is inactive, the region is not available, can not use it",
          "allOf": [
            {
              "$ref": "#/definitions/commonv1RegionState"
            }
          ]
        },
        "isPublic": {
          "type": "boolean",
          "title": "whether the region is public, if true, all organizations can use it"
        },
        "defaultBackupTime": {
          "type": "string",
          "title": "cluster's default auto backup time in this region(dataflow-service), such as \"10:00\""
        },
        "serviceAddress": {
          "type": "string",
          "title": "regional service address"
        },
        "logicalName": {
          "type": "string",
          "title": "logic region name, such as \"cn-north-1\" , if local name is not equal to id , is a byoc region and only set public to false"
        },
        "servicePlan": {
          "title": "service plan of the region, if not set, use default service plan",
          "allOf": [
            {
              "$ref": "#/definitions/commonv1ServicePlan"
            }
          ]
        },
        "sharedBucketUrl": {
          "type": "string",
          "x-nullable": true,
          "title": "shared bucket url of the region, if not set, keep empty"
        },
        "opsAuditLogSetting": {
          "title": "ops audit log setting of the region",
          "allOf": [
            {
              "$ref": "#/definitions/v1RegionOpsAuditLogSetting"
            }
          ]
        },
        "regionWhiteLists": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1RegionWhiteList"
          }
        },
        "engineType": {
          "$ref": "#/definitions/v1RegionEngineType"
        },
        "sys9Config": {
          "$ref": "#/definitions/v1RegionSys9Config"
        }
      },
      "required": [
        "id",
        "cloudProviderId",
        "displayName"
      ]
    },
    "globaldedicatedv1Cluster": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "description": "Metadata."
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "createFinishedTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "cloudProviderId": {
          "description": "Specs.",
          "allOf": [
            {
              "$ref": "#/definitions/v1CloudProviderName"
            }
          ]
        },
        "regionId": {
          "$ref": "#/definitions/v1RegionName"
        },
        "clusterComponents": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ClusterClusterComponent"
          }
        },
        "port": {
          "type": "integer",
          "format": "int64"
        },
        "rootPassword": {
          "type": "string"
        },
        "encryptedCloudAdminPassword": {
          "type": "string"
        },
        "customerManagedEncryptionKeyId": {
          "type": "string",
          "description": "Default to (project,region) cmek, allow user to specify a cmek."
        },
        "version": {
          "type": "string",
          "description": "Version of TiDB kernel."
        },
        "features": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1AvailableFeature"
          },
          "description": "Output only fields.",
          "readOnly": true
        },
        "hasRootPassword": {
          "type": "boolean",
          "readOnly": true
        },
        "state": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globaldedicatedv1ClusterState"
            }
          ]
        },
        "healthState": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globaldedicatedv1ClusterHealthState"
            }
          ]
        },
        "proxyBaseUrl": {
          "type": "string",
          "readOnly": true
        },
        "tokenBasedAuthEnabled": {
          "type": "boolean",
          "readOnly": true
        },
        "tidbNodeGroupEndpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dedicatedv1TidbNodeGroupEndpoint"
          },
          "readOnly": true
        },
        "regionDisplayName": {
          "type": "string",
          "readOnly": true
        },
        "agentBaseUrl": {
          "type": "string",
          "readOnly": true
        },
        "pausePlan": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/dedicatedv1ClusterPausePlan"
            }
          ]
        },
        "insufficientVmResource": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "required": [
        "clusterId",
        "organizationId",
        "projectId",
        "cloudProviderId",
        "regionId",
        "clusterComponents",
        "port"
      ]
    },
    "globaldedicatedv1ClusterHealthState": {
      "type": "string",
      "enum": [
        "HEALTHY",
        "UNHEALTHY"
      ]
    },
    "globaldedicatedv1ClusterState": {
      "type": "string",
      "enum": [
        "CREATING",
        "AVAILABLE",
        "MODIFYING",
        "PAUSED",
        "RESUMING",
        "UNAVAILABLE",
        "PAUSING",
        "SCALING",
        "DELETED"
      ]
    },
    "globaldedicatedv1ComponentType": {
      "type": "string",
      "enum": [
        "TIKV",
        "TIDB",
        "TIFLASH",
        "TIFLASH_LEARNER",
        "PD",
        "TIPROXY"
      ]
    },
    "globaldedicatedv1VpcPeering": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "cloudProvider": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "type": {
          "$ref": "#/definitions/v1VpcPeeringType"
        },
        "tidbCloudRegion": {
          "type": "string"
        },
        "customerRegion": {
          "type": "string"
        },
        "tidbCloudCidrBlock": {
          "type": "string",
          "readOnly": true
        },
        "customerCidrBlock": {
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globaldedicatedv1VpcPeeringState"
            }
          ]
        },
        "createAt": {
          "type": "string",
          "format": "date-time"
        },
        "aws": {
          "$ref": "#/definitions/v1VpcPeeringAws"
        },
        "gcp": {
          "$ref": "#/definitions/v1VpcPeeringGcp"
        }
      },
      "required": [
        "projectId",
        "organizationId",
        "cloudProvider",
        "type",
        "tidbCloudRegion",
        "customerRegion",
        "customerCidrBlock"
      ]
    },
    "globaldedicatedv1VpcPeeringState": {
      "type": "string",
      "enum": [
        "PENDING",
        "FAILED",
        "ACTIVE"
      ]
    },
    "globalnextgenv1Cluster": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "description": "Metadata."
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "createFinishedTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "cloudProviderId": {
          "description": "Specs.",
          "allOf": [
            {
              "$ref": "#/definitions/v1CloudProviderName"
            }
          ]
        },
        "regionId": {
          "$ref": "#/definitions/v1RegionName"
        },
        "rootPassword": {
          "type": "string"
        },
        "version": {
          "type": "string",
          "description": "Version of TiDB kernel."
        },
        "hasRootPassword": {
          "type": "boolean",
          "readOnly": true
        },
        "state": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalnextgenv1ClusterState"
            }
          ]
        },
        "healthState": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalnextgenv1ClusterHealthState"
            }
          ]
        },
        "tokenBasedAuthEnabled": {
          "type": "boolean",
          "readOnly": true
        },
        "regionDisplayName": {
          "type": "string",
          "readOnly": true
        },
        "minRcu": {
          "type": "string",
          "format": "int64"
        },
        "maxRcu": {
          "type": "string",
          "format": "int64"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "highAvailabilityType": {
          "$ref": "#/definitions/nextgenv1ClusterHighAvailabilityType"
        },
        "regionLogicalName": {
          "type": "string",
          "readOnly": true
        },
        "endpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1Endpoint"
          },
          "readOnly": true
        },
        "sharedPoolId": {
          "type": "string",
          "readOnly": true
        },
        "dataplaneId": {
          "type": "string",
          "readOnly": true
        },
        "sourceClusterId": {
          "type": "string",
          "format": "uint64",
          "title": "only used in restore to set cloud admin passwd"
        },
        "encryptedPlatformAdminPassword": {
          "type": "string"
        },
        "encryptedMaintenanceAdminPassword": {
          "type": "string"
        },
        "dualLayerDataEncryption": {
          "$ref": "#/definitions/v1ClusterDualLayerDataEncryption"
        },
        "displayName": {
          "type": "string"
        },
        "projectId": {
          "type": "string",
          "format": "int64"
        },
        "ruVersion": {
          "type": "integer",
          "format": "int32"
        },
        "capacityUpdatedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "reservedCapacityTemplateId": {
          "type": "string",
          "format": "uint64"
        },
        "reservedCapacityTemplate": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1ReservedCapacityTemplate"
            }
          ]
        },
        "resourcePoolDisplayName": {
          "type": "string",
          "readOnly": true
        },
        "planReplayerStatus": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalnextgenv1PlanReplayerStatus"
            }
          ]
        },
        "automaticResumeAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "clusterId",
        "organizationId",
        "cloudProviderId",
        "regionId",
        "maxRcu",
        "servicePlan",
        "projectId"
      ]
    },
    "globalnextgenv1ClusterHealthState": {
      "type": "string",
      "enum": [
        "HEALTHY",
        "UNHEALTHY"
      ]
    },
    "globalnextgenv1ClusterState": {
      "type": "string",
      "enum": [
        "CREATING",
        "AVAILABLE",
        "MODIFYING",
        "UNAVAILABLE",
        "DELETED",
        "PAUSING",
        "PAUSED",
        "RESUMING"
      ]
    },
    "globalnextgenv1ComponentType": {
      "type": "string",
      "enum": [
        "TIDB",
        "TIKV",
        "PD",
        "TIPROXY",
        "TIDB_WORKER",
        "TIKV_WORKER",
        "COPROCESSOR_WORKER",
        "TIFLASH_WRITE",
        "TIFLASH_COMPUTE",
        "PD_TSO",
        "PD_SCHEDULING",
        "SCHEMA_MANAGER"
      ]
    },
    "globalnextgenv1CustomerManagedEncryptionKey": {
      "type": "object",
      "properties": {
        "customerManagedEncryptionKeyId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "cloudProviderId": {
          "$ref": "#/definitions/v1CloudProviderName"
        },
        "regionId": {
          "$ref": "#/definitions/v1RegionName"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "awsKms": {
          "$ref": "#/definitions/nextgenv1CustomerManagedEncryptionKeyAwsKms"
        },
        "aliyunKms": {
          "$ref": "#/definitions/nextgenv1CustomerManagedEncryptionKeyAliyunKms"
        },
        "awsPrincipal": {
          "$ref": "#/definitions/nextgenv1CmekAccessIamPrincipalAwsCmekPrincipal"
        },
        "aliyunPrincipal": {
          "$ref": "#/definitions/nextgenv1CmekAccessIamPrincipalAliyunCmekPrincipal"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "organizationId",
        "cloudProviderId",
        "regionId",
        "servicePlan"
      ]
    },
    "globalnextgenv1PlanReplayerStatus": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "enabled": {
          "type": "boolean",
          "readOnly": true
        },
        "expireTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "googlerpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code]."
        },
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client."
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          },
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use."
        }
      },
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors)."
    },
    "nextgenv1ClusterHighAvailabilityType": {
      "type": "string",
      "enum": [
        "REGIONAL",
        "ZONAL"
      ]
    },
    "nextgenv1CmekAccessIamPrincipalAliyunCmekPrincipal": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "nextgenv1CmekAccessIamPrincipalAwsCmekPrincipal": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "string",
          "readOnly": true
        },
        "externalId": {
          "type": "string",
          "description": "AWS STS AssumeRole ExternalId to be pinned in the customer's KMS key\npolicy Condition block.",
          "readOnly": true
        }
      }
    },
    "nextgenv1ConnectionReachability": {
      "type": "object",
      "properties": {
        "reachable": {
          "type": "boolean",
          "readOnly": true
        },
        "detail": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ConnectionReachabilityDetail"
            }
          ]
        }
      }
    },
    "nextgenv1ConnectionReachabilityDetail": {
      "type": "object",
      "properties": {
        "serviceActive": {
          "type": "boolean",
          "readOnly": true
        },
        "endpointActive": {
          "type": "boolean",
          "readOnly": true
        },
        "dnsReachable": {
          "type": "boolean",
          "readOnly": true
        },
        "message": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "nextgenv1CustomerManagedEncryptionKeyAliyunKms": {
      "type": "object",
      "properties": {
        "kmsKeyArn": {
          "type": "string"
        }
      },
      "required": [
        "kmsKeyArn"
      ]
    },
    "nextgenv1CustomerManagedEncryptionKeyAwsKms": {
      "type": "object",
      "properties": {
        "kmsKeyArn": {
          "type": "string"
        }
      },
      "required": [
        "kmsKeyArn"
      ]
    },
    "nextgenv1Endpoint": {
      "type": "object",
      "properties": {
        "tidbGroupId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "publicEndpoint": {
          "$ref": "#/definitions/nextgenv1EndpointPublicEndpoint"
        },
        "vpcPeeringEndpoint": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1EndpointVpcPeeringEndpoint"
            }
          ]
        },
        "privateLinkEndpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1EndpointPrivateLinkEndpoint"
          },
          "description": "On GCP and Azure, different endpoints of a private link service have different hostnames.",
          "readOnly": true
        }
      }
    },
    "nextgenv1EndpointIpAddress": {
      "type": "object",
      "properties": {
        "cidrBlock": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "cidrBlock"
      ]
    },
    "nextgenv1EndpointPrivateLinkEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "reachability": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ConnectionReachability"
            }
          ]
        }
      }
    },
    "nextgenv1EndpointPublicEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "ipAllowList": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/nextgenv1EndpointIpAddress"
          }
        },
        "enablePublicLb": {
          "type": "boolean",
          "x-nullable": true
        },
        "reachability": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ConnectionReachability"
            }
          ]
        },
        "egressIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true
        }
      }
    },
    "nextgenv1EndpointVpcPeeringEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "reachability": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/nextgenv1ConnectionReachability"
            }
          ]
        }
      }
    },
    "nextgenv1NodeSpec": {
      "type": "object",
      "properties": {
        "cpu": {
          "type": "integer",
          "format": "int64"
        },
        "memoryGi": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": [
        "cpu",
        "memoryGi"
      ]
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
        }
      },
      "additionalProperties": {},
      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(\u0026foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := \u0026pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := \u0026pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": \u003cstring\u003e,\n      \"lastName\": \u003cstring\u003e\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    },
    "protobufNullValue": {
      "type": "string",
      "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`."
    },
    "regionalserverlessv1AzureBlobCloudStorage": {
      "type": "object",
      "properties": {
        "authType": {
          "$ref": "#/definitions/v1AzureBlobCloudStorageAuthType"
        },
        "sasToken": {
          "type": "string",
          "title": "The SAS token to access Azure Blob Storage"
        }
      }
    },
    "regionalserverlessv1CloudProvider": {
      "type": "string",
      "enum": [
        "CLOUD_PROVIDER_AWS",
        "CLOUD_PROVIDER_GCP",
        "CLOUD_PROVIDER_AZURE",
        "CLOUD_PROVIDER_ALICLOUD"
      ],
      "title": "TODO: move to base definition"
    },
    "regionalserverlessv1CloudStorage": {
      "type": "object",
      "properties": {
        "cloudStorageType": {
          "$ref": "#/definitions/regionalserverlessv1CloudStorageType"
        },
        "s3": {
          "$ref": "#/definitions/regionalserverlessv1S3CloudStorage"
        },
        "gcs": {
          "$ref": "#/definitions/regionalserverlessv1GCSCloudStorage"
        },
        "azureBlob": {
          "$ref": "#/definitions/regionalserverlessv1AzureBlobCloudStorage"
        },
        "s3Compatible": {
          "$ref": "#/definitions/v1S3CompatibleCloudStorage"
        },
        "oss": {
          "$ref": "#/definitions/regionalserverlessv1OSSCloudStorage"
        },
        "uri": {
          "type": "string",
          "description": "The URI of the cloud storage data dir."
        }
      }
    },
    "regionalserverlessv1CloudStorageType": {
      "type": "string",
      "enum": [
        "S3",
        "GCS",
        "AZURE_BLOB",
        "OSS",
        "S3_COMPATIBLE",
        "INTERNAL"
      ],
      "title": "- S3_COMPATIBLE: S3 compatible storage\n - INTERNAL: Internal source storage, no authentication required"
    },
    "regionalserverlessv1GCSCloudStorage": {
      "type": "object",
      "properties": {
        "authType": {
          "$ref": "#/definitions/v1GCSCloudStorageAuthType"
        },
        "serviceAccountKey": {
          "type": "string"
        }
      }
    },
    "regionalserverlessv1OSSCloudStorage": {
      "type": "object",
      "properties": {
        "authType": {
          "$ref": "#/definitions/v1OSSCloudStorageAuthType"
        },
        "roleArn": {
          "title": "The role arn",
          "allOf": [
            {
              "$ref": "#/definitions/v1OSSCloudStorageRoleArn"
            }
          ]
        },
        "accessKey": {
          "title": "The access key to access OSS",
          "allOf": [
            {
              "$ref": "#/definitions/regionalserverlessv1OSSCloudStorageAccessKey"
            }
          ]
        }
      }
    },
    "regionalserverlessv1OSSCloudStorageAccessKey": {
      "type": "object",
      "properties": {
        "accessKeyId": {
          "type": "string",
          "title": "The access key ID to access OSS"
        },
        "accessKeySecret": {
          "type": "string",
          "title": "The access key secret to access OSS"
        }
      }
    },
    "regionalserverlessv1Region": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "cloudProvider": {
          "$ref": "#/definitions/regionalserverlessv1CloudProvider"
        }
      },
      "title": "TODO: move to base definition"
    },
    "regionalserverlessv1S3CloudStorage": {
      "type": "object",
      "properties": {
        "authType": {
          "$ref": "#/definitions/v1S3CloudStorageAuthType"
        },
        "roleArn": {
          "title": "The role arn",
          "allOf": [
            {
              "$ref": "#/definitions/v1S3CloudStorageRoleArn"
            }
          ]
        },
        "accessKey": {
          "description": "The access key.",
          "allOf": [
            {
              "$ref": "#/definitions/regionalserverlessv1S3CloudStorageAccessKey"
            }
          ]
        }
      }
    },
    "regionalserverlessv1S3CloudStorageAccessKey": {
      "type": "object",
      "properties": {
        "accessKeyId": {
          "type": "string",
          "title": "The access key ID to access S3"
        },
        "secretAccessKey": {
          "type": "string",
          "title": "The secret access key to access S3"
        }
      }
    },
    "serverlessv1AutomatedBackupPolicy": {
      "type": "object",
      "properties": {
        "backupTime": {
          "type": "string"
        },
        "retentionDays": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "serverlessv1ClusterState": {
      "type": "string",
      "enum": [
        "CLUSTER_STATE_READY",
        "CLUSTER_STATE_CREATING",
        "CLUSTER_STATE_DELETING",
        "CLUSTER_STATE_DELETED"
      ],
      "description": "- CLUSTER_STATE_READY: The cluster can be accessed only when it is `READY`",
      "title": "These is the regional related cluster status info, not the same with global\ndefinition"
    },
    "serverlessv1EncryptionConfig": {
      "type": "object",
      "properties": {
        "enhancedEncryptionEnabled": {
          "type": "boolean"
        }
      }
    },
    "serverlessv1Endpoints": {
      "type": "object",
      "properties": {
        "public": {
          "$ref": "#/definitions/serverlessv1PublicEndpoint"
        },
        "private": {
          "$ref": "#/definitions/v1PrivateEndpoint"
        }
      }
    },
    "serverlessv1PublicEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string"
        },
        "port": {
          "type": "string",
          "format": "int64"
        },
        "disabled": {
          "type": "boolean"
        },
        "authorizedNetwork": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1PublicEndpointAuthorizedNetwork"
          }
        }
      },
      "title": "TODO: move to base definition"
    },
    "tidb_mgmt_servicev1AutoScaling": {
      "type": "object",
      "properties": {
        "minRcu": {
          "type": "integer",
          "format": "int64"
        },
        "maxRcu": {
          "type": "integer",
          "format": "int64"
        }
      },
      "description": "Message for serverless auto scaling configuration."
    },
    "tidb_mgmt_servicev1CloudProvider": {
      "type": "object",
      "properties": {
        "cloudProvider": {
          "$ref": "#/definitions/globalcommonv1CloudProvider"
        },
        "deployType": {
          "$ref": "#/definitions/v1DeployType"
        }
      }
    },
    "tidb_mgmt_servicev1Cluster": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "projectId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "organizationId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "clusterName": {
          "type": "string",
          "readOnly": true
        },
        "cloudProvider": {
          "type": "string",
          "readOnly": true
        },
        "deployType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1DeployType"
            }
          ]
        },
        "createdBy": {
          "type": "string",
          "readOnly": true
        },
        "region": {
          "type": "string",
          "readOnly": true
        },
        "customStatuses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ClusterCustomStatus"
          },
          "title": "cluster custom status",
          "readOnly": true
        },
        "dedicatedCluster": {
          "$ref": "#/definitions/globaldedicatedv1Cluster"
        },
        "serverlessCluster": {
          "$ref": "#/definitions/v1ServerlessServiceCluster"
        },
        "nextGenCluster": {
          "$ref": "#/definitions/globalnextgenv1Cluster"
        },
        "tikvStorageType": {
          "description": "storage_type only for dedicated cluster. Adding this field to dedicated_cluster requires massive proto refactor, just put it here currently.",
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/ClusterStorageNodeSettingStorageType"
            }
          ]
        },
        "tiflashStorageType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/ClusterStorageNodeSettingStorageType"
            }
          ]
        },
        "servicePlan": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/commonv1beta1ServicePlan"
            }
          ]
        },
        "originalProjectId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "ruVersion": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/commonv1beta1Tag"
          },
          "readOnly": true
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        },
        "planReplayerStatus": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/tidb_mgmt_servicev1PlanReplayerStatus"
            }
          ]
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true,
          "readOnly": true
        }
      },
      "title": "Cluster"
    },
    "tidb_mgmt_servicev1ClusterFilter": {
      "type": "object",
      "properties": {
        "clusterIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        },
        "projectIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        },
        "tenantIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        },
        "cloudProviders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "states": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/commonv1beta1ClusterState"
          }
        },
        "excludeStates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/commonv1beta1ClusterState"
          }
        },
        "view": {
          "title": "Default view is basic",
          "allOf": [
            {
              "$ref": "#/definitions/v1ClusterFilterClusterView"
            }
          ]
        },
        "clusterType": {
          "title": "Default show all cluster type",
          "allOf": [
            {
              "$ref": "#/definitions/v1DeployType"
            }
          ]
        },
        "deleted": {
          "type": "boolean",
          "x-nullable": true,
          "title": "Default show deleted cluster"
        },
        "refreshCache": {
          "type": "boolean",
          "title": "Default to false\nSet it to true to list the latest serverless clusters and refresh their caches between serverless-gloabl-svc and serverless-regional-svc.\nIt's useful when you want to fetch the serverless cluster changes which are not triggered by the management service\nUse it only when you know what you are doing"
        },
        "servicePlan": {
          "description": "If specified, only clusters belonging to the specified service plan will be returned.",
          "allOf": [
            {
              "$ref": "#/definitions/commonv1beta1ServicePlan"
            }
          ]
        },
        "excludeProjectIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          },
          "description": "If specified, clusters belonging to the listed project IDs will be excluded from results."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowNonFullView": {
          "type": "boolean",
          "x-nullable": true,
          "description": "Default to false.\nThis is a compatibility escape hatch for the internal cluster aggregation API.\nWhen set to true, dedicated clusters will no longer force non-local views to full view."
        }
      }
    },
    "tidb_mgmt_servicev1CreateVpcPeeringResponse": {
      "type": "object",
      "properties": {
        "peeringId": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "tidb_mgmt_servicev1GKEHeterogeneousDeploy": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "readOnly": true
        },
        "componentType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globaldedicatedv1ComponentType"
            }
          ]
        },
        "currentInstanceType": {
          "type": "string",
          "readOnly": true
        },
        "alternativeInstanceType": {
          "type": "string",
          "readOnly": true
        },
        "tidbGroupId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "status": {
          "type": "string",
          "readOnly": true
        },
        "podCounts": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1GKEHeterogeneousDeployPodCount"
          },
          "readOnly": true
        }
      }
    },
    "tidb_mgmt_servicev1ListCloudProvidersResponse": {
      "type": "object",
      "properties": {
        "cloudProviders": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/tidb_mgmt_servicev1CloudProvider"
          }
        }
      }
    },
    "tidb_mgmt_servicev1ListClustersResponse": {
      "type": "object",
      "properties": {
        "clusters": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/tidb_mgmt_servicev1Cluster"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "tidb_mgmt_servicev1ListRegionsResponse": {
      "type": "object",
      "properties": {
        "regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/tidb_mgmt_servicev1Region"
          }
        }
      }
    },
    "tidb_mgmt_servicev1ListVpcPeeringsResponse": {
      "type": "object",
      "properties": {
        "vpcPeerings": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/globaldedicatedv1VpcPeering"
          }
        }
      }
    },
    "tidb_mgmt_servicev1PlanReplayerStatus": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "readOnly": true
        },
        "expireTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "tidb_mgmt_servicev1Region": {
      "type": "object",
      "properties": {
        "region": {
          "$ref": "#/definitions/globalcommonv1Region"
        },
        "deployType": {
          "$ref": "#/definitions/v1DeployType"
        },
        "regionProviderIdentities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1RegionProviderIdentity"
          }
        },
        "defaultProviderIdentities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1DefaultRegionProviderIdentity"
          }
        }
      }
    },
    "tidb_mgmt_servicev1RegionServiceRegisterRegionProviderIdentityBody": {
      "type": "object",
      "properties": {
        "deployType": {
          "$ref": "#/definitions/v1DeployType"
        },
        "regionProviderIdentity": {
          "$ref": "#/definitions/v1RegionProviderIdentity"
        }
      },
      "required": [
        "deployType",
        "regionProviderIdentity"
      ]
    },
    "v1AlicloudPrivateEndpoint": {
      "type": "object",
      "properties": {
        "serviceName": {
          "type": "string"
        },
        "availabilityZone": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1AvailableFeature": {
      "type": "string",
      "enum": [
        "DISABLE_PUBLIC_LB",
        "DELEGATE_USER",
        "PRIVATELINK",
        "VECTOR_TYPE"
      ],
      "title": "Available feature for a cluster"
    },
    "v1AwsPrivateEndpoint": {
      "type": "object",
      "properties": {
        "serviceName": {
          "type": "string"
        },
        "availabilityZone": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "TODO: move to base definition"
    },
    "v1AzureBlobCloudStorageAuthType": {
      "type": "string",
      "enum": [
        "SAS_TOKEN"
      ],
      "title": "- SAS_TOKEN: Use SAS token to access Azure Blob Storage"
    },
    "v1BuildComponentSpecDiffReportsResponse": {
      "type": "object",
      "properties": {
        "clusters": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/BuildComponentSpecDiffReportsResponseReport"
          }
        }
      }
    },
    "v1CloudIamInfo": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "readOnly": true
        },
        "tidbCloudAccountId": {
          "type": "string",
          "title": "provider iam id",
          "readOnly": true
        },
        "tidbCloudAccountExternalId": {
          "type": "string",
          "title": "tidbCloudAccountExternalId",
          "readOnly": true
        },
        "cloudProvider": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalcommonv1CloudProvider"
            }
          ]
        },
        "region": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalcommonv1Region"
            }
          ]
        },
        "nodeRole": {
          "type": "string",
          "description": "The node role or identity used to grant storage access.\nFor Azure, this is the kubelet identity object ID.",
          "readOnly": true
        }
      }
    },
    "v1CloudProviderName": {
      "type": "string",
      "enum": [
        "AWS",
        "GCP",
        "AZURE",
        "ALICLOUD"
      ],
      "description": "Refer to terraform provider name: https://registry.terraform.io/browse/providers."
    },
    "v1CloudProviderState": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "INACTIVE"
      ]
    },
    "v1ClusterAction": {
      "type": "string",
      "enum": [
        "CLUSTER_ACTION_DELETE_CLUSTER",
        "CLUSTER_ACTION_MODIFY_CLUSTER",
        "CLUSTER_ACTION_RESUME_CLUSTER",
        "CLUSTER_ACTION_PAUSE_CLUSTER",
        "CLUSTER_ACTION_SCALE_CLUSTER",
        "CLUSTER_ACTION_SET_ROOT_PASSWORD",
        "CLUSTER_ACTION_SET_TRAFFIC_FILTER",
        "CLUSTER_ACTION_CREATE_PRIVATE_LINK",
        "CLUSTER_ACTION_CREATE_VPC_PEERING",
        "CLUSTER_ACTION_DELETE_VPC_PEERING"
      ]
    },
    "v1ClusterApplyMask": {
      "type": "object",
      "properties": {
        "version": {
          "type": "boolean",
          "title": "if set to true, tidb cluster version will be updated, but will ingore tiproxy\nif want to update tiproxy, set component_apply_mask with tiproxy"
        },
        "componentApplyMasks": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ClusterApplyMaskComponentApplyMask"
          }
        },
        "hotReload": {
          "type": "boolean"
        },
        "strategy": {
          "$ref": "#/definitions/ClusterApplyMaskStrategy"
        }
      },
      "required": [
        "strategy"
      ]
    },
    "v1ClusterConfiguration": {
      "type": "object",
      "properties": {
        "componentConfigurations": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ClusterConfigurationComponentConfiguration"
          }
        }
      },
      "required": [
        "componentConfigurations"
      ]
    },
    "v1ClusterCustomStatus": {
      "type": "object",
      "properties": {
        "statusId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "clusterId": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "statusName": {
          "type": "string",
          "readOnly": true
        },
        "statusType": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/v1CustomStatusType"
            }
          ]
        },
        "mutex": {
          "$ref": "#/definitions/ClusterCustomStatusCustomMutex"
        },
        "timeoutSecs": {
          "type": "string",
          "format": "int64",
          "x-nullable": true
        },
        "isExpired": {
          "type": "boolean",
          "readOnly": true
        },
        "overrideStatus": {
          "$ref": "#/definitions/commonv1beta1ClusterState"
        }
      },
      "title": "ClusterCustom"
    },
    "v1ClusterDualLayerDataEncryption": {
      "type": "object",
      "properties": {
        "noEncryption": {
          "type": "object",
          "properties": {}
        },
        "defaultKey": {
          "type": "object",
          "properties": {}
        },
        "cmek": {
          "$ref": "#/definitions/globalnextgenv1CustomerManagedEncryptionKey"
        }
      }
    },
    "v1ClusterFilterClusterView": {
      "type": "string",
      "enum": [
        "CLUSTER_VIEW_LOCAL",
        "CLUSTER_VIEW_BASIC",
        "CLUSTER_VIEW_FULL"
      ],
      "description": "show all cluster info",
      "title": "- CLUSTER_VIEW_LOCAL: only show local cluster info not include cluster_info\n - CLUSTER_VIEW_BASIC: only show basic cluster info. cluster_info is not full\ndedicated: not display cluster endpoint info and node change progress. not support yet.\nserverless: not display cluster spending limit and backup policy.\n - CLUSTER_VIEW_FULL: return full cluster info"
    },
    "v1CompatCluster": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "provider": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "clusterStatus": {
          "type": "string"
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "nodeRole": {
          "$ref": "#/definitions/CompatClusterNodeRole"
        },
        "clusterTopology": {
          "$ref": "#/definitions/CompatClusterClusterTopology"
        }
      },
      "description": "All fields are OUTPUT_ONLY unless otherwise specified.",
      "required": [
        "organizationId",
        "projectId"
      ]
    },
    "v1CompatNetwork": {
      "type": "object",
      "properties": {
        "k8sName": {
          "type": "string"
        },
        "k8sVersion": {
          "type": "string"
        },
        "k8sCa": {
          "type": "string"
        },
        "k8sEndpoint": {
          "type": "string"
        },
        "k8sReady": {
          "type": "boolean"
        },
        "vpcId": {
          "type": "string"
        },
        "nodeRole": {
          "type": "string"
        },
        "aws": {
          "$ref": "#/definitions/v1CompatNetworkAws"
        },
        "gcp": {
          "$ref": "#/definitions/v1CompatNetworkGcp"
        },
        "azure": {
          "$ref": "#/definitions/CompatNetworkAzure"
        },
        "proxyBaseUrl": {
          "type": "string"
        },
        "iam": {
          "$ref": "#/definitions/CompatNetworkIAM"
        },
        "cidr": {
          "type": "string"
        },
        "dataflowAgentUrl": {
          "type": "string"
        },
        "externalIps": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tenantId": {
          "type": "string"
        }
      },
      "description": "All fields are OUTPUT_ONLY unless otherwise specified."
    },
    "v1CompatNetworkAws": {
      "type": "object",
      "properties": {
        "nodeSubnets": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AwsNodeSubnet"
          }
        },
        "privateSubnets": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AwsNodeSubnet"
          }
        },
        "securityGroupId": {
          "type": "string"
        },
        "secondaryNodeSubnets": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AwsNodeSubnet"
          }
        }
      }
    },
    "v1CompatNetworkGcp": {
      "type": "object",
      "properties": {
        "nodeZones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nodeSubnets": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pscSubnet": {
          "type": "string",
          "title": "private service connect NAT subnet"
        },
        "adminNodeSa": {
          "type": "string"
        }
      }
    },
    "v1CompatProvider": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CompatProviderCompatRegion"
          }
        }
      },
      "description": "All fields are OUTPUT_ONLY unless otherwise specified.",
      "required": [
        "name"
      ]
    },
    "v1ComponentNodeInfo": {
      "type": "object",
      "properties": {
        "tidb": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ComponentNodeInfoComponent"
          }
        },
        "tikv": {
          "$ref": "#/definitions/v1ComponentNodeInfoComponent"
        },
        "tiflash": {
          "$ref": "#/definitions/v1ComponentNodeInfoComponent"
        },
        "tiproxy": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ComponentNodeInfoComponent"
          }
        }
      },
      "description": "All fields are output only unless otherwise specified."
    },
    "v1ComponentNodeInfoComponent": {
      "type": "object",
      "properties": {
        "nodes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ComponentNode"
          }
        },
        "tidbGroupId": {
          "type": "string",
          "format": "uint64"
        },
        "tidbGroupDisplayName": {
          "type": "string"
        },
        "isDefaultTidbGroup": {
          "type": "boolean"
        }
      }
    },
    "v1ComponentTopology": {
      "type": "object",
      "properties": {
        "componentType": {
          "$ref": "#/definitions/globalnextgenv1ComponentType"
        },
        "nodeQuota": {
          "$ref": "#/definitions/v1NodeQuota"
        },
        "storages": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1StorageSpec"
          }
        }
      },
      "required": [
        "componentType",
        "nodeQuota"
      ]
    },
    "v1CountBillableClustersRequest": {
      "type": "object",
      "properties": {
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "startTime": {
          "type": "string",
          "format": "date-time"
        },
        "endTime": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "projectId",
        "organizationId",
        "startTime",
        "endTime"
      ]
    },
    "v1CountBillableClustersResponse": {
      "type": "object",
      "properties": {
        "billableClustersCount": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1CountClustersResponse": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1CustomStatusType": {
      "type": "string",
      "enum": [
        "CUSTOM_STATUS_TYPE_BACKUP",
        "CUSTOM_STATUS_TYPE_IMPORT",
        "CUSTOM_STATUS_TYPE_CDC",
        "CUSTOM_STATUS_TYPE_RESTORE",
        "CUSTOM_STATUS_TYPE_SERVERLESS_RESTORE",
        "CUSTOM_STATUS_TYPE_MAINTENANCE",
        "CUSTOM_STATUS_TYPE_APPLY",
        "CUSTOM_STATUS_TYPE_RECOVERY_GROUP",
        "CUSTOM_STATUS_TYPE_MODIFYING",
        "CUSTOM_STATUS_TYPE_SERVERLESS_RESTORE_TO_NEW",
        "CUSTOM_STATUS_TYPE_SERVERLESS_RESTORE_INPLACE",
        "CUSTOM_STATUS_TYPE_SERVERLESS_MIGRATION",
        "CUSTOM_STATUS_TYPE_SERVERLESS_PRIVATE_LINK_CONNECTION_EXIST",
        "CUSTOM_STATUS_TYPE_EXPORT",
        "CUSTOM_STATUS_TYPE_DATA_MIGRATION",
        "CUSTOM_STATUS_TYPE_PITR"
      ]
    },
    "v1DefaultRegionProviderIdentity": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        },
        "identity": {
          "type": "string"
        },
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        }
      },
      "required": [
        "tenantId",
        "identity",
        "servicePlan"
      ]
    },
    "v1DeployType": {
      "type": "string",
      "enum": [
        "DEPLOY_TYPE_DEDICATED",
        "DEPLOY_TYPE_SERVERLESS",
        "DEPLOY_TYPE_NEXTGEN"
      ],
      "title": "deploy type"
    },
    "v1FixedTopology": {
      "type": "object",
      "properties": {
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ComponentTopology"
          }
        }
      },
      "required": [
        "components"
      ]
    },
    "v1GCSCloudStorageAuthType": {
      "type": "string",
      "enum": [
        "SERVICE_ACCOUNT_KEY"
      ],
      "title": "- SERVICE_ACCOUNT_KEY: Use service account key to access GCS"
    },
    "v1GKEHeterogeneousDeployPodCount": {
      "type": "object",
      "properties": {
        "machineType": {
          "type": "string",
          "readOnly": true
        },
        "podCount": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        }
      }
    },
    "v1GcpPrivateEndpoint": {
      "type": "object",
      "properties": {
        "targetServiceAttachment": {
          "type": "string"
        },
        "availabilityZone": {
          "type": "string"
        }
      }
    },
    "v1GetVpcPeeringResponse": {
      "type": "object",
      "properties": {
        "vpcPeering": {
          "$ref": "#/definitions/globaldedicatedv1VpcPeering"
        }
      }
    },
    "v1IsClusterCustomStatusExistedResponse": {
      "type": "object",
      "properties": {
        "isExisted": {
          "type": "boolean"
        },
        "existedCustomStatuses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ClusterCustomStatus"
          }
        }
      }
    },
    "v1ListClusterCustomStatusResponse": {
      "type": "object",
      "properties": {
        "customStatuses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1ClusterCustomStatus"
          }
        }
      }
    },
    "v1ListRegionProviderIdentitiesResponse": {
      "type": "object",
      "properties": {
        "region": {
          "readOnly": true,
          "allOf": [
            {
              "$ref": "#/definitions/globalcommonv1Region"
            }
          ]
        },
        "regionProviderIdentities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1RegionProviderIdentity"
          }
        },
        "defaultProviderIdentities": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1DefaultRegionProviderIdentity"
          }
        }
      }
    },
    "v1NodeQuota": {
      "type": "object",
      "properties": {
        "nodeSpec": {
          "$ref": "#/definitions/nextgenv1NodeSpec"
        },
        "nodeCount": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": [
        "nodeSpec",
        "nodeCount"
      ]
    },
    "v1OSSCloudStorageAuthType": {
      "type": "string",
      "enum": [
        "ROLE_ARN",
        "ACCESS_KEY"
      ],
      "title": "- ROLE_ARN: Use role ARN to access OSS\n - ACCESS_KEY: Use access key and secret access key to access OSS"
    },
    "v1OSSCloudStorageRoleArn": {
      "type": "object",
      "properties": {
        "roleArn": {
          "type": "string",
          "title": "The role ARN to access OSS"
        },
        "externalId": {
          "type": "string",
          "title": "The external ID to access OSS"
        }
      }
    },
    "v1OrganizationRuConfig": {
      "type": "object",
      "properties": {
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "defaultRuVersion": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "v1PrivateEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string"
        },
        "port": {
          "type": "string",
          "format": "int64"
        },
        "disabled": {
          "type": "boolean"
        },
        "cloudProvider": {
          "title": "TODO: TBD: this field is redundant with the cluster's, remove it ?",
          "allOf": [
            {
              "$ref": "#/definitions/regionalserverlessv1CloudProvider"
            }
          ]
        },
        "aws": {
          "$ref": "#/definitions/v1AwsPrivateEndpoint"
        },
        "gcp": {
          "$ref": "#/definitions/v1GcpPrivateEndpoint"
        },
        "alicloud": {
          "title": "AzurePrivateEndpoint azure = 7;",
          "allOf": [
            {
              "$ref": "#/definitions/v1AlicloudPrivateEndpoint"
            }
          ]
        },
        "authorizedNetwork": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1PrivateEndpointAuthorizedNetwork"
          }
        }
      }
    },
    "v1PrivateEndpointAuthorizedNetwork": {
      "type": "object",
      "properties": {
        "vpcEndpointId": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        }
      }
    },
    "v1PublicEndpointAuthorizedNetwork": {
      "type": "object",
      "properties": {
        "startIpAddress": {
          "type": "string"
        },
        "endIpAddress": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        }
      }
    },
    "v1RegionEngineType": {
      "type": "string",
      "enum": [
        "MYSQL_COMPATIBLE",
        "POSTGRESQL_COMPATIBLE"
      ]
    },
    "v1RegionName": {
      "type": "string",
      "enum": [
        "AWS_US_EAST_2",
        "AWS_US_EAST_1",
        "AWS_US_WEST_1",
        "AWS_US_WEST_2",
        "AWS_AF_SOUTH_1",
        "AWS_AP_EAST_1",
        "AWS_AP_SOUTH_2",
        "AWS_AP_SOUTHEAST_3",
        "AWS_AP_SOUTHEAST_4",
        "AWS_AP_SOUTH_1",
        "AWS_AP_NORTHEAST_3",
        "AWS_AP_NORTHEAST_2",
        "AWS_AP_SOUTHEAST_1",
        "AWS_AP_SOUTHEAST_2",
        "AWS_AP_NORTHEAST_1",
        "AWS_CA_CENTRAL_1",
        "AWS_CA_WEST_1",
        "AWS_EU_CENTRAL_1",
        "AWS_EU_WEST_1",
        "AWS_EU_WEST_2",
        "AWS_EU_SOUTH_1",
        "AWS_EU_WEST_3",
        "AWS_EU_SOUTH_2",
        "AWS_EU_NORTH_1",
        "AWS_EU_CENTRAL_2",
        "AWS_IL_CENTRAL_1",
        "AWS_ME_SOUTH_1",
        "AWS_ME_CENTRAL_1",
        "AWS_SA_EAST_1",
        "AWS_AP_SOUTHEAST_5",
        "AWS_AP_SOUTHEAST_6",
        "AWS_AP_SOUTHEAST_7",
        "AWS_MX_CENTRAL_1",
        "GCP_ASIA_EAST1",
        "GCP_ASIA_EAST2",
        "GCP_ASIA_NORTHEAST1",
        "GCP_ASIA_NORTHEAST2",
        "GCP_ASIA_NORTHEAST3",
        "GCP_ASIA_SOUTH1",
        "GCP_ASIA_SOUTH2",
        "GCP_ASIA_SOUTHEAST1",
        "GCP_ASIA_SOUTHEAST2",
        "GCP_AUSTRALIA_SOUTHEAST1",
        "GCP_AUSTRALIA_SOUTHEAST2",
        "GCP_EUROPE_CENTRAL2",
        "GCP_EUROPE_NORTH1",
        "GCP_EUROPE_SOUTHWEST1",
        "GCP_EUROPE_WEST1",
        "GCP_EUROPE_WEST10",
        "GCP_EUROPE_WEST12",
        "GCP_EUROPE_WEST2",
        "GCP_EUROPE_WEST3",
        "GCP_EUROPE_WEST4",
        "GCP_EUROPE_WEST6",
        "GCP_EUROPE_WEST8",
        "GCP_EUROPE_WEST9",
        "GCP_ME_CENTRAL1",
        "GCP_ME_CENTRAL2",
        "GCP_ME_WEST1",
        "GCP_NORTHAMERICA_NORTHEAST1",
        "GCP_NORTHAMERICA_NORTHEAST2",
        "GCP_SOUTHAMERICA_EAST1",
        "GCP_SOUTHAMERICA_WEST1",
        "GCP_US_CENTRAL1",
        "GCP_US_EAST1",
        "GCP_US_EAST4",
        "GCP_US_EAST5",
        "GCP_US_SOUTH1",
        "GCP_US_WEST1",
        "GCP_US_WEST2",
        "GCP_US_WEST3",
        "GCP_US_WEST4",
        "AZURE_EASTUS",
        "AZURE_SOUTHCENTRALUS",
        "AZURE_WESTUS2",
        "AZURE_WESTUS3",
        "AZURE_AUSTRALIAEAST",
        "AZURE_SOUTHEASTASIA",
        "AZURE_NORTHEUROPE",
        "AZURE_SWEDENCENTRAL",
        "AZURE_UKSOUTH",
        "AZURE_WESTEUROPE",
        "AZURE_CENTRALUS",
        "AZURE_SOUTHAFRICANORTH",
        "AZURE_CENTRALINDIA",
        "AZURE_EASTASIA",
        "AZURE_JAPANEAST",
        "AZURE_KOREACENTRAL",
        "AZURE_CANADACENTRAL",
        "AZURE_FRANCECENTRAL",
        "AZURE_GERMANYWESTCENTRAL",
        "AZURE_ITALYNORTH",
        "AZURE_NORWAYEAST",
        "AZURE_POLANDCENTRAL",
        "AZURE_SPAINCENTRAL",
        "AZURE_SWITZERLANDNORTH",
        "AZURE_MEXICOCENTRAL",
        "AZURE_UAENORTH",
        "AZURE_BRAZILSOUTH",
        "AZURE_ISRAELCENTRAL",
        "AZURE_QATARCENTRAL",
        "AZURE_CENTRALUSSTAGE",
        "AZURE_EASTUSSTAGE",
        "AZURE_EASTUS2STAGE",
        "AZURE_NORTHCENTRALUSSTAGE",
        "AZURE_SOUTHCENTRALUSSTAGE",
        "AZURE_WESTUSSTAGE",
        "AZURE_WESTUS2STAGE",
        "AZURE_ASIA",
        "AZURE_ASIAPACIFIC",
        "AZURE_AUSTRALIA",
        "AZURE_BRAZIL",
        "AZURE_CANADA",
        "AZURE_EUROPE",
        "AZURE_FRANCE",
        "AZURE_GERMANY",
        "AZURE_GLOBAL",
        "AZURE_INDIA",
        "AZURE_ISRAEL",
        "AZURE_ITALY",
        "AZURE_JAPAN",
        "AZURE_KOREA",
        "AZURE_NEWZEALAND",
        "AZURE_NORWAY",
        "AZURE_POLAND",
        "AZURE_QATAR",
        "AZURE_SINGAPORE",
        "AZURE_SOUTHAFRICA",
        "AZURE_SWEDEN",
        "AZURE_SWITZERLAND",
        "AZURE_UAE",
        "AZURE_UK",
        "AZURE_UNITEDSTATES",
        "AZURE_UNITEDSTATESEUAP",
        "AZURE_EASTASIASTAGE",
        "AZURE_SOUTHEASTASIASTAGE",
        "AZURE_BRAZILUS",
        "AZURE_EASTUS2",
        "AZURE_EASTUSSTG",
        "AZURE_NORTHCENTRALUS",
        "AZURE_WESTUS",
        "AZURE_JAPANWEST",
        "AZURE_JIOINDIAWEST",
        "AZURE_CENTRALUSEUAP",
        "AZURE_EASTUS2EUAP",
        "AZURE_WESTCENTRALUS",
        "AZURE_SOUTHAFRICAWEST",
        "AZURE_AUSTRALIACENTRAL",
        "AZURE_AUSTRALIACENTRAL2",
        "AZURE_AUSTRALIASOUTHEAST",
        "AZURE_JIOINDIACENTRAL",
        "AZURE_KOREASOUTH",
        "AZURE_SOUTHINDIA",
        "AZURE_WESTINDIA",
        "AZURE_CANADAEAST",
        "AZURE_FRANCESOUTH",
        "AZURE_GERMANYNORTH",
        "AZURE_NORWAYWEST",
        "AZURE_SWITZERLANDWEST",
        "AZURE_UKWEST",
        "AZURE_UAECENTRAL",
        "AZURE_BRAZILSOUTHEAST",
        "ALICLOUD_AP_SOUTHEAST_1",
        "ALICLOUD_AP_NORTHEAST_1",
        "ALICLOUD_AP_NORTHEAST_2",
        "ALICLOUD_AP_SOUTHEAST_3",
        "ALICLOUD_AP_SOUTHEAST_5",
        "ALICLOUD_AP_SOUTHEAST_6",
        "ALICLOUD_AP_SOUTHEAST_7",
        "ALICLOUD_NA_SOUTH_1",
        "ALICLOUD_US_WEST_1",
        "ALICLOUD_US_EAST_1",
        "ALICLOUD_EU_CENTRAL_1",
        "ALICLOUD_EU_WEST_1",
        "ALICLOUD_ME_EAST_1",
        "ALICLOUD_ME_CENTRAL_1",
        "ALICLOUD_CN_HONGKONG"
      ],
      "description": "- AWS_US_EAST_2: AWS.\n - GCP_ASIA_EAST1: GCP.\n - AZURE_EASTUS: Azure\n - ALICLOUD_AP_SOUTHEAST_1: AliCloud",
      "title": "Refer to:\n  - AWS: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints.\n  - GCP: https://console.cloud.google.com/compute/zones\n  - Azure: https://gist.github.com/ausfestivus/04e55c7d80229069bf3bc75870630ec8"
    },
    "v1RegionOpsAuditLogSetting": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "logLocation": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingLogLocation"
        },
        "logRotation": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingLogRotation"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "v1RegionOpsAuditLogSettingLogLocation": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/v1RegionOpsAuditLogSettingType"
        },
        "bucketUri": {
          "type": "string"
        },
        "roleArn": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "accountId": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "bucketUri",
        "roleArn",
        "externalId",
        "accountId"
      ]
    },
    "v1RegionOpsAuditLogSettingLogRotation": {
      "type": "object",
      "properties": {
        "fileSizeLimitInMb": {
          "type": "string",
          "format": "uint64"
        },
        "rotationIntervalInMin": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": [
        "fileSizeLimitInMb",
        "rotationIntervalInMin"
      ]
    },
    "v1RegionOpsAuditLogSettingType": {
      "type": "string",
      "enum": [
        "TYPE_STANDARD",
        "TYPE_CUSTOMIZED"
      ]
    },
    "v1RegionProviderIdentity": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "identity": {
          "type": "string"
        },
        "isDefault": {
          "type": "boolean"
        }
      },
      "required": [
        "identity"
      ]
    },
    "v1RegionSys9Config": {
      "type": "object",
      "properties": {
        "oemProfileRef": {
          "type": "string"
        },
        "authMode": {
          "type": "string"
        },
        "tokenTtlSec": {
          "type": "integer",
          "format": "int64"
        },
        "sessionRefreshBeforeSec": {
          "type": "integer",
          "format": "int64"
        },
        "retryPolicyRef": {
          "type": "string"
        }
      }
    },
    "v1RegionWhiteList": {
      "type": "object",
      "properties": {
        "servicePlan": {
          "$ref": "#/definitions/commonv1ServicePlan"
        },
        "isPublic": {
          "type": "boolean"
        },
        "openedTenantIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        }
      },
      "required": [
        "servicePlan"
      ]
    },
    "v1ReservedCapacityTemplate": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "templateCode": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "scope": {
          "$ref": "#/definitions/v1ReservedCapacityTemplateScope"
        },
        "organizationId": {
          "type": "string",
          "format": "uint64"
        },
        "status": {
          "$ref": "#/definitions/v1ReservedCapacityTemplateStatus"
        },
        "purchasedVcpu": {
          "type": "string",
          "format": "int64"
        },
        "workload": {
          "$ref": "#/definitions/ReservedCapacityTemplateWorkload"
        },
        "fixedTopology": {
          "$ref": "#/definitions/v1FixedTopology"
        },
        "topologySummary": {
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": [
        "scope",
        "status",
        "purchasedVcpu",
        "workload",
        "fixedTopology"
      ]
    },
    "v1ReservedCapacityTemplateScope": {
      "type": "string",
      "enum": [
        "DEFAULT",
        "ORG_PRIVATE"
      ]
    },
    "v1ReservedCapacityTemplateStatus": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "DEPRECATED"
      ]
    },
    "v1S3CloudStorageAuthType": {
      "type": "string",
      "enum": [
        "ROLE_ARN",
        "ACCESS_KEY"
      ],
      "title": "- ROLE_ARN: Use role ARN to access S3\n - ACCESS_KEY: Use access key and secret access key to access S3"
    },
    "v1S3CloudStorageRoleArn": {
      "type": "object",
      "properties": {
        "roleArn": {
          "type": "string",
          "title": "The role ARN to access S3"
        },
        "externalId": {
          "type": "string",
          "title": "The external ID to access S3"
        }
      }
    },
    "v1S3CompatibleCloudStorage": {
      "type": "object",
      "properties": {
        "authType": {
          "$ref": "#/definitions/v1S3CompatibleCloudStorageAuthType"
        },
        "accessKey": {
          "title": "The access key to access S3 compatible storage",
          "allOf": [
            {
              "$ref": "#/definitions/v1S3CompatibleCloudStorageAccessKey"
            }
          ]
        },
        "endpoint": {
          "type": "string",
          "title": "The endpoint of the S3 compatible storage"
        }
      }
    },
    "v1S3CompatibleCloudStorageAccessKey": {
      "type": "object",
      "properties": {
        "accessKeyId": {
          "type": "string",
          "title": "The access key ID to access S3 compatible storage"
        },
        "secretAccessKey": {
          "type": "string",
          "title": "The secret access key to access S3 compatible storage"
        }
      }
    },
    "v1S3CompatibleCloudStorageAuthType": {
      "type": "string",
      "enum": [
        "ACCESS_KEY"
      ],
      "title": "- ACCESS_KEY: Use access key and secret access key to access S3 compatible storage"
    },
    "v1ServerlessRegionalServiceClusterInfo": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string",
          "title": "The cluster-id should equal to the request one"
        },
        "createTs": {
          "type": "string",
          "format": "int64",
          "title": "The creating request timestamp"
        },
        "createdTs": {
          "type": "string",
          "format": "int64",
          "title": "The creating finished timestamp"
        },
        "deleteTs": {
          "type": "string",
          "format": "int64",
          "title": "The deleting request timestamp"
        },
        "updatedTs": {
          "type": "string",
          "format": "int64",
          "title": "The most recent status updated timestamp"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "version": {
          "type": "string",
          "title": "The cluster version"
        },
        "region": {
          "title": "The cluster region",
          "allOf": [
            {
              "$ref": "#/definitions/regionalserverlessv1Region"
            }
          ]
        },
        "endpoints": {
          "title": "The cluster endpoints",
          "allOf": [
            {
              "$ref": "#/definitions/serverlessv1Endpoints"
            }
          ]
        },
        "state": {
          "$ref": "#/definitions/serverlessv1ClusterState"
        },
        "userPrefix": {
          "type": "string"
        },
        "proxyEndpoint": {
          "type": "string"
        },
        "tokenBasedAuthEnabled": {
          "type": "boolean"
        },
        "enhancedEncryptionEnabled": {
          "type": "boolean"
        },
        "restoreCluster": {
          "type": "boolean"
        },
        "zoneRedundantEnabled": {
          "type": "boolean"
        },
        "kubernetes": {
          "type": "string"
        },
        "providerType": {
          "type": "string"
        },
        "auditLogConfig": {
          "$ref": "#/definitions/v1ServerlessRegionalServiceClusterInfoAuditLogConfig"
        },
        "keyspaceId": {
          "type": "integer",
          "format": "int64"
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "The underlying regional cluster annotations, originally from the cluster cr"
        },
        "autoScaling": {
          "$ref": "#/definitions/v1ServerlessRegionalServiceClusterInfoAutoScaling"
        }
      }
    },
    "v1ServerlessRegionalServiceClusterInfoAuditLogConfig": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "x-nullable": true
        },
        "unredacted": {
          "type": "boolean",
          "x-nullable": true
        },
        "cloudStorage": {
          "$ref": "#/definitions/regionalserverlessv1CloudStorage"
        },
        "rotationIntervalSeconds": {
          "type": "string",
          "format": "int64",
          "x-nullable": true,
          "title": "The rotation interval in seconds"
        },
        "rotationSizeBytes": {
          "type": "string",
          "format": "int64",
          "x-nullable": true,
          "title": "The rotation size in bytes"
        }
      }
    },
    "v1ServerlessRegionalServiceClusterInfoAutoScaling": {
      "type": "object",
      "properties": {
        "minRcu": {
          "type": "integer",
          "format": "int64"
        },
        "maxRcu": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1ServerlessServiceCluster": {
      "type": "object",
      "properties": {
        "clusterId": {
          "type": "string"
        },
        "cluster": {
          "$ref": "#/definitions/v1ServerlessRegionalServiceClusterInfo"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        },
        "cloudProvider": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "hasSetPwd": {
          "type": "boolean"
        },
        "backupPolicy": {
          "$ref": "#/definitions/serverlessv1AutomatedBackupPolicy"
        },
        "spendLimit": {
          "$ref": "#/definitions/v1SpendLimit"
        },
        "userStatus": {
          "$ref": "#/definitions/v1UserClusterStatus"
        },
        "attributes": {
          "$ref": "#/definitions/ServerlessServiceClusterAttributes"
        },
        "features": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1AvailableFeature"
          }
        },
        "projectId": {
          "type": "string",
          "format": "uint64"
        },
        "creationFinishedAt": {
          "type": "string",
          "format": "int64",
          "x-nullable": true
        },
        "internalEndpoint": {
          "type": "string"
        },
        "rootPassword": {
          "type": "string"
        },
        "originalProjectId": {
          "type": "string",
          "format": "uint64"
        },
        "ruVersion": {
          "type": "integer",
          "format": "int32"
        },
        "engineType": {
          "type": "string"
        }
      }
    },
    "v1ShowComponentNodeInfoResponse": {
      "type": "object",
      "properties": {
        "componentNodeInfo": {
          "$ref": "#/definitions/v1ComponentNodeInfo"
        }
      }
    },
    "v1SpendLimit": {
      "type": "object",
      "properties": {
        "monthly": {
          "type": "integer",
          "format": "int64"
        },
        "daily": {
          "type": "integer",
          "format": "int64"
        },
        "freeCredit": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1StorageSpec": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/StorageSpecStorageName"
        },
        "type": {
          "type": "string"
        },
        "sizeGi": {
          "type": "integer",
          "format": "int64"
        },
        "iops": {
          "type": "integer",
          "format": "int64"
        },
        "throughputMbs": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": [
        "name",
        "sizeGi"
      ]
    },
    "v1TidbNodeGroupEndpointIpAddress": {
      "type": "object",
      "properties": {
        "cidrBlock": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      },
      "required": [
        "cidrBlock"
      ]
    },
    "v1TidbNodeGroupEndpointPrivateLinkEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "v1TidbNodeGroupEndpointPublicEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "ipAllowList": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1TidbNodeGroupEndpointIpAddress"
          }
        },
        "enablePublicLb": {
          "type": "boolean",
          "x-nullable": true
        }
      }
    },
    "v1TidbNodeGroupEndpointVpcPeeringEndpoint": {
      "type": "object",
      "properties": {
        "host": {
          "type": "string",
          "readOnly": true
        },
        "port": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "v1UpdateRegionOpsAuditLogSettingResponse": {
      "type": "object",
      "properties": {
        "region": {
          "$ref": "#/definitions/globalcommonv1Region"
        }
      }
    },
    "v1UserClusterStatus": {
      "type": "string",
      "enum": [
        "USER_CLUSTER_STATUS_NORMAL",
        "USER_CLUSTER_STATUS_CREATING",
        "USER_CLUSTER_STATUS_UNAVAILABLE",
        "USER_CLUSTER_STATUS_RECOVERING",
        "USER_CLUSTER_STATUS_IMPORTING",
        "USER_CLUSTER_STATUS_MAINTAINING",
        "USER_CLUSTER_STATUS_DELETED"
      ]
    },
    "v1VpcPeeringAws": {
      "type": "object",
      "properties": {
        "tidbCloudAccountId": {
          "type": "string",
          "readOnly": true
        },
        "customerAccountId": {
          "type": "string"
        },
        "tidbCloudVpcId": {
          "type": "string",
          "readOnly": true
        },
        "customerVpcId": {
          "type": "string"
        },
        "vpcPeeringConnectionId": {
          "type": "string",
          "readOnly": true
        }
      },
      "required": [
        "customerAccountId",
        "customerVpcId"
      ]
    },
    "v1VpcPeeringGcp": {
      "type": "object",
      "properties": {
        "tidbCloudProjectId": {
          "type": "string",
          "readOnly": true
        },
        "customerProjectId": {
          "type": "string"
        },
        "tidbCloudNetworkName": {
          "type": "string",
          "readOnly": true
        },
        "customerNetworkName": {
          "type": "string"
        }
      },
      "required": [
        "customerProjectId",
        "customerNetworkName"
      ]
    },
    "v1VpcPeeringType": {
      "type": "string",
      "enum": [
        "CUSTOMER",
        "DBAAS",
        "CUSTOMER_READONLY"
      ]
    }
  }
}
