{
  "swagger": "2.0",
  "info": {
    "title": "config_center/config_center.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "ConfigCenterService"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/config-center/cluster-types/{clusterType}/cluster-components:search": {
      "get": {
        "operationId": "ConfigCenterService_SearchClusterComponents",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.SearchClusterComponentsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "componentName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "clusterIds",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "componentVersion",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "imageTag",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "logicalRegion",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "showDeleted",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/clusters/meta:batchDelete": {
      "post": {
        "operationId": "ConfigCenterService_BatchDeleteClusterMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.BatchDeleteClusterMetaBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/clusters/{clusterId}/meta": {
      "get": {
        "summary": "GetClusterMeta returns components and configurationFiles, will return NotFound error if components number is 0",
        "operationId": "ConfigCenterService_GetClusterMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ClusterMeta"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "logicalRegion",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "mainComponent",
            "description": "version of main component will be treated as cluster version",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "delete": {
        "operationId": "ConfigCenterService_DeleteClusterMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "clusterId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "logicalRegion",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "patch": {
        "summary": "update version to gerneate new image tags, update configuration files manually",
        "operationId": "ConfigCenterService_UpdateClusterMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.UpdateClusterMetaResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "description": "will auto fill blank cluster_type field in component_requests and configuration_file_requests",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "clusterId",
            "description": "will auto fill blank cluster_id field in component_requests and configuration_file_requests",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.UpdateClusterMetaBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/clusters/{clusterId}/meta:autoUpdate": {
      "patch": {
        "summary": "update version to gerneate new image tags and configuration files automatically",
        "operationId": "ConfigCenterService_AutoUpdateClusterMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.AutoUpdateClusterMetaResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "description": "will auto fill blank cluster_type field in component_requests and configuration_file_requests",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "clusterId",
            "description": "will auto fill blank cluster_id field in component_requests and configuration_file_requests",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.AutoUpdateClusterMetaBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/component-images/{componentName}": {
      "put": {
        "summary": "only ops portal can use this api",
        "operationId": "ConfigCenterService_UpdateComponentImage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ComponentImage"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "componentName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.UpdateComponentImageBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/default-version": {
      "get": {
        "summary": "GetDefaultVersion exists for gitops compatibility, it is recommended to let user(or upper-layer service to choose version from AvailableVersions instead",
        "operationId": "ConfigCenterService_GetDefaultVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.DefaultVersion"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "component",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "clusterVersion",
            "description": "cluster_version is used only for DM now, map cluster version to dm version",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "cloudProvider",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "tenantId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "delete": {
        "operationId": "ConfigCenterService_DeleteDefaultVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "component",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "clusterVersion",
            "description": "cluster_version is used only for DM now, map cluster version to dm version",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "cloudProvider",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "tenantId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "put": {
        "operationId": "ConfigCenterService_UpdateDefaultVersion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.DefaultVersion"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.UpdateDefaultVersionBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/default-version-rules": {
      "get": {
        "operationId": "ConfigCenterService_ListDefaultVersionRules",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ListDefaultVersionRulesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "component",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "tenantId",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/regional-servers": {
      "get": {
        "operationId": "ConfigCenterService_ListRegionalServers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ListRegionalServersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "post": {
        "operationId": "ConfigCenterService_RegisterRegionalServer",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.RegisterRegionalServerBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/regional-servers/{logicalRegion}": {
      "get": {
        "operationId": "ConfigCenterService_GetRegionalServer",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "delete": {
        "operationId": "ConfigCenterService_OfflineRegionalServer",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/regional-servers/{logicalRegion}/sync": {
      "post": {
        "operationId": "ConfigCenterService_SyncRegionalServer",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/templates": {
      "post": {
        "operationId": "ConfigCenterService_CreateConfigurationTemplate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ConfigurationTemplate"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.CreateConfigurationTemplateBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/templates/{templateId}": {
      "get": {
        "operationId": "ConfigCenterService_GetConfigurationTemplate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ConfigurationTemplate"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "configurationType",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/templates/{templateId}/default": {
      "put": {
        "operationId": "ConfigCenterService_UpdateDefaultConfigurationTemplate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ConfigurationTemplate"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.UpdateDefaultConfigurationTemplateBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/templates/{templateId}/default:delete": {
      "post": {
        "operationId": "ConfigCenterService_DeleteDefaultConfigurationTemplate",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.DeleteDefaultConfigurationTemplateBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/templates/{templateId}/usage": {
      "get": {
        "operationId": "ConfigCenterService_GetTemplateUsage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.TemplateUsage"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "configurationType",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/tenants/{tenantId}/initial-custom-params": {
      "get": {
        "operationId": "ConfigCenterService_ListTenantInitialCustomParams",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ListTenantInitialCustomParamsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/config-center/cluster-types/{clusterType}/tenants/{tenantId}/initial-custom-params:batchUpdate": {
      "patch": {
        "operationId": "ConfigCenterService_BatchUpdateTenantInitialCustomParams",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.BatchUpdateTenantInitialCustomParamsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.BatchUpdateTenantInitialCustomParamsBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/inner/config-center/cluster-types/{clusterType}/regional-servers": {
      "get": {
        "operationId": "ConfigCenterService_ListRegionalServers2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.ListRegionalServersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "post": {
        "operationId": "ConfigCenterService_RegisterRegionalServer2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/config_center.ConfigCenterService.RegisterRegionalServerBody"
            }
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/inner/config-center/cluster-types/{clusterType}/regional-servers/{logicalRegion}": {
      "get": {
        "operationId": "ConfigCenterService_GetRegionalServer2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      },
      "delete": {
        "operationId": "ConfigCenterService_OfflineRegionalServer2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    },
    "/inner/config-center/cluster-types/{clusterType}/regional-servers/{logicalRegion}/sync": {
      "post": {
        "operationId": "ConfigCenterService_SyncRegionalServer2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/config_center.RegionalServer"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/google.rpc.Status"
            }
          }
        },
        "parameters": [
          {
            "name": "clusterType",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "CLUSTER_TYPE_UNSPECIFIED",
              "DEDICATED_TIDB",
              "TICDC",
              "TIPROXY",
              "CHANGEFEED",
              "SHARED_POOL",
              "LOGICAL_CLUSTER",
              "TICDC_NG",
              "CHANGEFEED_NG",
              "CHANGEFEED_ESSENTIAL"
            ]
          },
          {
            "name": "logicalRegion",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ConfigCenterService"
        ]
      }
    }
  },
  "definitions": {
    "config_center.AutoUpdateClusterConfigurationFileRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "configurationFilename": {
          "type": "string"
        },
        "configurationType": {
          "type": "string",
          "title": "required if file does not exists, optional to update existing configuration file"
        },
        "belongToComponent": {
          "type": "string",
          "title": "required if file does not exists, optional to update existing configuration file"
        },
        "format": {
          "$ref": "#/definitions/config_center.Format",
          "title": "required if file does not exists, optional to update existing configuration file"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64",
          "title": "tenant_id is only used to generate custom_params if the configuration file does not exist"
        },
        "previousText": {
          "type": "string"
        }
      }
    },
    "config_center.AutoUpdateClusterMetaResponse": {
      "type": "object",
      "properties": {
        "modifiedComponents": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        },
        "modifiedConfigurationFiles": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.BatchAutoUpdateClusterConfigurationFilesResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.BatchCreateClusterConfigurationFilesResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.BatchCreateConfigurationDictResponse": {
      "type": "object",
      "properties": {
        "configurationDictItems": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationDictItem"
          }
        }
      }
    },
    "config_center.BatchCreateConfigurationTemplatesResponse": {
      "type": "object",
      "properties": {
        "templates": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationTemplate"
          }
        }
      }
    },
    "config_center.BatchSearchDefaultConfigurationTemplateResponse": {
      "type": "object",
      "properties": {
        "templates": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationTemplate"
          }
        }
      }
    },
    "config_center.BatchUpdateClusterComponentsResponse": {
      "type": "object",
      "properties": {
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        }
      }
    },
    "config_center.BatchUpdateClusterConfigurationFilesResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.BatchUpdateDefaultConfigurationTemplateResponse": {
      "type": "object",
      "properties": {
        "templates": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationTemplate"
          }
        }
      }
    },
    "config_center.BatchUpdateTenantInitialCustomParamsResponse": {
      "type": "object",
      "properties": {
        "tenantInitialCustomParams": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.TenantInitialCustomPatams"
          }
        }
      }
    },
    "config_center.BatchUpsertClusterCustomParamsResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.ClusterComponent": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "componentName": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "overwriteImageTag": {
          "type": "string"
        },
        "baseImage": {
          "type": "string",
          "readOnly": true
        },
        "effectiveImageTag": {
          "type": "string",
          "readOnly": true
        },
        "updateStrategy": {
          "$ref": "#/definitions/config_center.UpdateStrategy"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "title": "AIP-148/AIP-164 compliant timestamp fields",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "config_center.ClusterMeta": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        },
        "configurationFiles": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.ClusterType": {
      "type": "string",
      "enum": [
        "CLUSTER_TYPE_UNSPECIFIED",
        "DEDICATED_TIDB",
        "TICDC",
        "TIPROXY",
        "CHANGEFEED",
        "SHARED_POOL",
        "LOGICAL_CLUSTER",
        "TICDC_NG",
        "CHANGEFEED_NG",
        "CHANGEFEED_ESSENTIAL"
      ],
      "default": "CLUSTER_TYPE_UNSPECIFIED",
      "title": "- TICDC: dedicated ticdc cluster\n - TIPROXY: not used\n - SHARED_POOL: shared Resource Pool in NextGen\n - LOGICAL_CLUSTER: premium instance in NextGen\n - TICDC_NG: ticdc cluster in NextGen\n - CHANGEFEED_ESSENTIAL: essential/serverless changefeed"
    },
    "config_center.ComponentImage": {
      "type": "object",
      "properties": {
        "componentName": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "baseImage": {
          "type": "string"
        },
        "tag": {
          "type": "string"
        },
        "generalAvailability": {
          "type": "boolean"
        }
      },
      "title": "deprecated"
    },
    "config_center.ConfigCenterService.AutoUpdateClusterMetaBody": {
      "type": "object",
      "properties": {
        "logicalRegion": {
          "type": "string"
        },
        "version": {
          "type": "string",
          "title": "will auto fill blank version field in component_requests and configuration_file_requests if not null"
        },
        "componentRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.UpdateClusterComponentRequest"
          },
          "title": "only selected components will be updated"
        },
        "configurationFileRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.AutoUpdateClusterConfigurationFileRequest"
          },
          "title": "only selected configuration files will be updated"
        }
      }
    },
    "config_center.ConfigCenterService.BatchDeleteClusterMetaBody": {
      "type": "object",
      "properties": {
        "logicalRegion": {
          "type": "string"
        },
        "clusterIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "config_center.ConfigCenterService.BatchUpdateTenantInitialCustomParamsBody": {
      "type": "object",
      "properties": {
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.UpdateTenantInitialCustomParamsRequest"
          }
        }
      }
    },
    "config_center.ConfigCenterService.CreateConfigurationTemplateBody": {
      "type": "object",
      "properties": {
        "templateId": {
          "type": "string",
          "format": "int64"
        },
        "configurationType": {
          "type": "string"
        },
        "templateName": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "config_center.ConfigCenterService.DeleteDefaultConfigurationTemplateBody": {
      "type": "object",
      "properties": {
        "configurationType": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tenantId": {
          "type": "string"
        }
      }
    },
    "config_center.ConfigCenterService.RegisterRegionalServerBody": {
      "type": "object",
      "properties": {
        "logicalRegion": {
          "type": "string"
        },
        "serverAddress": {
          "type": "string"
        },
        "isByoc": {
          "type": "boolean"
        }
      }
    },
    "config_center.ConfigCenterService.UpdateClusterMetaBody": {
      "type": "object",
      "properties": {
        "logicalRegion": {
          "type": "string"
        },
        "version": {
          "type": "string",
          "title": "will auto fill blank version field in component_requests (not configuration_file_requests) if not null"
        },
        "componentRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.UpdateClusterComponentRequest"
          },
          "title": "only selected components will be updated"
        },
        "configurationFileRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.UpdateClusterConfigurationFileRequest"
          },
          "title": "only selected configuration files will be updated"
        },
        "validateOnly": {
          "type": "boolean"
        }
      }
    },
    "config_center.ConfigCenterService.UpdateComponentImageBody": {
      "type": "object",
      "properties": {
        "componentVersion": {
          "type": "string"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64",
          "title": "optional string cluster_id = 5;"
        },
        "baseImage": {
          "type": "string"
        },
        "tag": {
          "type": "string"
        }
      }
    },
    "config_center.ConfigCenterService.UpdateDefaultConfigurationTemplateBody": {
      "type": "object",
      "properties": {
        "configurationType": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string",
          "title": "cloud_provider cannot be empty if node_instance is not empty"
        },
        "nodeInstance": {
          "type": "string",
          "title": "node_instance could be empty to update default config for all instance except which already has specific binding"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "only update in the specified regions if not empty"
        },
        "tenantId": {
          "type": "string"
        }
      }
    },
    "config_center.ConfigCenterService.UpdateDefaultVersionBody": {
      "type": "object",
      "properties": {
        "component": {
          "type": "string"
        },
        "clusterVersion": {
          "type": "string",
          "title": "cluster_version is used only for DM now, map cluster version to dm version"
        },
        "cloudProvider": {
          "type": "string"
        },
        "region": {
          "type": "string",
          "description": "The region must be specified along with the cloud_provider."
        },
        "tenantId": {
          "type": "string",
          "format": "uint64",
          "description": "When the tenant_id is specified, the cloud_provider and region will be ignored."
        },
        "version": {
          "type": "string"
        }
      }
    },
    "config_center.ConfigParamType": {
      "type": "string",
      "enum": [
        "unknown",
        "int",
        "string",
        "bool",
        "float",
        "json"
      ],
      "default": "unknown"
    },
    "config_center.ConfigurationDictItem": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "configurationType": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "paramKey": {
          "type": "string"
        },
        "defaultValue": {},
        "type": {
          "$ref": "#/definitions/config_center.ConfigParamType"
        },
        "hotReloadable": {
          "type": "boolean",
          "title": "optional string verify_expr = 6;"
        },
        "description": {
          "type": "string"
        },
        "needTemplate": {
          "type": "boolean"
        },
        "validation": {
          "type": "string"
        },
        "riskLevel": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "title": "AIP-148/AIP-164 compliant timestamp fields",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "config_center.ConfigurationFile": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType",
          "readOnly": true
        },
        "configurationFilename": {
          "type": "string"
        },
        "configurationType": {
          "type": "string"
        },
        "belongToComponent": {
          "type": "string"
        },
        "format": {
          "$ref": "#/definitions/config_center.Format"
        },
        "templateId": {
          "type": "string",
          "format": "int64"
        },
        "customParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        },
        "fullParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          },
          "title": "full_params is designed for web interaction. there is no stability guarantee",
          "readOnly": true
        },
        "text": {
          "type": "string",
          "title": "text is serialized text file content. Will never change before the modifying request",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "title": "AIP-148/AIP-164 compliant timestamp fields",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "config_center.ConfigurationTemplate": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "templateId": {
          "type": "string",
          "format": "int64"
        },
        "templateName": {
          "type": "string"
        },
        "configurationType": {
          "type": "string"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "data": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          },
          "title": "use tiup-cluster like configuration representation like \"readpool.storage.use-unified-pool = true\"\nhttps://github.com/pingcap/tiup/blob/v1.14.0/embed/examples/cluster/topology.example.yaml#L52"
        },
        "createTime": {
          "type": "string",
          "format": "date-time",
          "title": "AIP-148/AIP-164 compliant timestamp fields",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "deleteTime": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      }
    },
    "config_center.CreateClusterComponentRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "componentName": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string",
          "title": "todo: move to configfile resource"
        },
        "nodeInstance": {
          "type": "string",
          "title": "todo: move to configfile resource"
        },
        "overwriteImageTag": {
          "type": "string",
          "title": "it is suggested to always set overwrite_image_tag to \"\" explicitly to unset the old value, unless it is expected that final image_tag may be unchanged"
        },
        "updateStrategy": {
          "$ref": "#/definitions/config_center.UpdateStrategy"
        },
        "validateOnly": {
          "type": "boolean"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "config_center.CreateClusterConfigFileRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "configurationFilename": {
          "type": "string"
        },
        "configurationType": {
          "type": "string"
        },
        "format": {
          "$ref": "#/definitions/config_center.Format"
        },
        "belongToComponent": {
          "type": "string",
          "title": "string config_version = 7;"
        },
        "fromSku": {
          "$ref": "#/definitions/config_center.FromSKU"
        },
        "fromTemplate": {
          "$ref": "#/definitions/config_center.FromTemplate"
        },
        "fromInputValues": {
          "$ref": "#/definitions/config_center.FromInputValues"
        },
        "fromTenant": {
          "$ref": "#/definitions/config_center.FromTenant"
        },
        "fromCustomTemplate": {
          "$ref": "#/definitions/config_center.FromTemplate"
        },
        "validateOnly": {
          "type": "boolean"
        }
      }
    },
    "config_center.CreateClusterConfigurationFileRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string",
          "title": "string configuration_filename = 3 [(google.api.field_behavior) = REQUIRED];"
        },
        "configurationFile": {
          "$ref": "#/definitions/config_center.ConfigurationFile"
        },
        "validateOnly": {
          "type": "boolean",
          "title": "/Format format = 4;\n int64 template_id = 5;\n map\u003cstring,ParamItem\u003e custom_params = 6;"
        }
      },
      "required": [
        "clusterType",
        "clusterId"
      ]
    },
    "config_center.CreateConfigurationTemplateRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "templateId": {
          "type": "string",
          "format": "int64"
        },
        "configurationType": {
          "type": "string"
        },
        "templateName": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "config_center.DefaultCase": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "configurationType": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "tenantId": {
          "type": "string"
        }
      }
    },
    "config_center.DefaultVersion": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "title": "one of \"global\", \"tenant\""
        }
      }
    },
    "config_center.DefaultVersionRule": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "component": {
          "type": "string"
        },
        "clusterVersion": {
          "type": "string",
          "title": "empty means any version"
        },
        "cloudProvider": {
          "type": "string",
          "title": "empty means any cloud_provider"
        },
        "region": {
          "type": "string",
          "description": "The region must be specified along with the cloud_provider.\n\nempty means any region of the cloud_provider"
        },
        "version": {
          "type": "string",
          "title": "the target version"
        }
      }
    },
    "config_center.DeleteClusterConfigurationFileRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "configurationFilename": {
          "type": "string"
        }
      }
    },
    "config_center.Format": {
      "type": "string",
      "enum": [
        "FORMAT_UNSPECIFIED",
        "TOML",
        "JSON",
        "YAML",
        "LINES"
      ],
      "default": "FORMAT_UNSPECIFIED"
    },
    "config_center.FromInputValues": {
      "type": "object",
      "properties": {
        "customParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        }
      }
    },
    "config_center.FromSKU": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "config_center.FromTemplate": {
      "type": "object",
      "properties": {
        "templateId": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.FromTenant": {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "config_center.ListAvailableInstancesResponse": {
      "type": "object",
      "properties": {
        "instances": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.UniqueInstance"
          }
        }
      }
    },
    "config_center.ListAvailableVersionsResponse": {
      "type": "object",
      "properties": {
        "versions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "config_center.ListClusterComponentsResponse": {
      "type": "object",
      "properties": {
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        }
      }
    },
    "config_center.ListClusterConfigurationFilesResponse": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.ListComponentImagesResponse": {
      "type": "object",
      "properties": {
        "images": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ComponentImage"
          }
        }
      }
    },
    "config_center.ListConfigurationDictItemsResponse": {
      "type": "object",
      "properties": {
        "configurationDictItems": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationDictItem"
          }
        },
        "current": {
          "type": "string",
          "format": "int64"
        },
        "total": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.ListConfigurationDictVersionsResponse": {
      "type": "object",
      "properties": {
        "versions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "config_center.ListConfigurationTemplateDefaultCaseBindingsResponse": {
      "type": "object",
      "properties": {
        "templateDefaultCaseBindings": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.TemplateDefaultCaseBinding"
          }
        },
        "total": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.ListConfigurationTemplatesResponse": {
      "type": "object",
      "properties": {
        "templates": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationTemplate"
          }
        }
      }
    },
    "config_center.ListDefaultVersionRulesResponse": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.DefaultVersionRule"
          }
        }
      }
    },
    "config_center.ListMetaProfilesResponse": {
      "type": "object",
      "properties": {
        "profiles": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.MetaProfile"
          }
        },
        "total": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.ListRegionalServersResponse": {
      "type": "object",
      "properties": {
        "servers": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.RegionalServer"
          }
        }
      }
    },
    "config_center.ListTenantInitialCustomParamsResponse": {
      "type": "object",
      "properties": {
        "tenantInitialCustomParams": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.TenantInitialCustomPatams"
          }
        }
      }
    },
    "config_center.MetaProfile": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "profileId": {
          "type": "string",
          "format": "int64"
        },
        "profileName": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "componentImageTags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "string cluster_version = 6;"
        },
        "configCustomTemplates": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "int64"
          }
        },
        "componentVersions": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "config_center.ParamItem": {
      "type": "object",
      "properties": {
        "value": {},
        "comment": {
          "type": "string"
        }
      }
    },
    "config_center.PurgeDictItemsResponse": {
      "type": "object",
      "properties": {
        "purgeCount": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.RegionalServer": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "logicalRegion": {
          "type": "string"
        },
        "serverAddress": {
          "type": "string"
        },
        "syncStatus": {
          "type": "string"
        }
      }
    },
    "config_center.SearchClusterComponentsResponse": {
      "type": "object",
      "properties": {
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        },
        "total": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.SearchDefaultConfigurationTemplateRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "configurationType": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "region": {
          "type": "string",
          "description": "internal use, please ignore."
        },
        "tenantId": {
          "type": "string"
        }
      }
    },
    "config_center.TemplateDefaultCaseBinding": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "defaultCase": {
          "$ref": "#/definitions/config_center.DefaultCase"
        },
        "templateId": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.TemplateUsage": {
      "type": "object",
      "properties": {
        "clusterIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "defaultCases": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.DefaultCase"
          }
        }
      }
    },
    "config_center.TenantInitialCustomPatams": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "configurationType": {
          "type": "string"
        },
        "initialParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        }
      }
    },
    "config_center.UniqueInstance": {
      "type": "object",
      "properties": {
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        }
      }
    },
    "config_center.UpdateClusterComponentRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "componentName": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string"
        },
        "nodeInstance": {
          "type": "string"
        },
        "overwriteImageTag": {
          "type": "string",
          "title": "it is suggested to always set overwrite_image_tag to \"\" explicitly to unset the old value, unless it is expected that final image_tag may be unchanged"
        },
        "updateStrategy": {
          "$ref": "#/definitions/config_center.UpdateStrategy"
        },
        "updateRelatedConfigurationFiles": {
          "type": "boolean",
          "title": "create component if not exists, version,cloud_provider,node_instance are required in this case"
        },
        "allowMissing": {
          "type": "boolean"
        },
        "validateOnly": {
          "type": "boolean"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "config_center.UpdateClusterConfigurationFileRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "configurationFilename": {
          "type": "string"
        },
        "configurationType": {
          "type": "string"
        },
        "belongToComponent": {
          "type": "string"
        },
        "format": {
          "$ref": "#/definitions/config_center.Format"
        },
        "templateId": {
          "type": "string",
          "format": "int64",
          "title": "specify (system)template_id instead of map from node_instance and version"
        },
        "customParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          },
          "description": "All custom params should be set, not only the changed ones. Use nil/empty to remain unchanged."
        },
        "clearCustomParams": {
          "type": "boolean",
          "description": "Used to clear custom_params, custom_params in the request should be nil/empty."
        },
        "allowMissing": {
          "type": "boolean"
        },
        "previousText": {
          "type": "string"
        },
        "validateOnly": {
          "type": "boolean"
        }
      }
    },
    "config_center.UpdateClusterMetaResponse": {
      "type": "object",
      "properties": {
        "modifiedComponents": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ClusterComponent"
          }
        },
        "modifiedConfigurationFiles": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/config_center.ConfigurationFile"
          }
        }
      }
    },
    "config_center.UpdateDefaultConfigurationTemplateRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "configurationType": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "cloudProvider": {
          "type": "string",
          "title": "cloud_provider cannot be empty if node_instance is not empty"
        },
        "nodeInstance": {
          "type": "string",
          "title": "node_instance could be empty to update default config for all instance except which already has specific binding"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "only update in the specified regions if not empty"
        },
        "tenantId": {
          "type": "string"
        },
        "templateId": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "config_center.UpdateStrategy": {
      "type": "string",
      "enum": [
        "UPDATE_STRATEGY_UNSPECIFIED",
        "UPDATE_ALL",
        "UPDATE_NEW"
      ],
      "default": "UPDATE_STRATEGY_UNSPECIFIED",
      "title": "- UPDATE_STRATEGY_UNSPECIFIED: update strategy is not specified, use default strategy defined in upper service"
    },
    "config_center.UpdateTenantInitialCustomParamsRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "configurationType": {
          "type": "string"
        },
        "tenantId": {
          "type": "string",
          "format": "uint64"
        },
        "initialParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          }
        }
      }
    },
    "config_center.UpsertClusterCustomParamsRequest": {
      "type": "object",
      "properties": {
        "clusterType": {
          "$ref": "#/definitions/config_center.ClusterType"
        },
        "clusterId": {
          "type": "string"
        },
        "configurationFilename": {
          "type": "string"
        },
        "upsertedParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/config_center.ParamItem"
          },
          "description": "bool validate_only = 5;",
          "title": "params to be inserted or updated"
        }
      }
    },
    "google.protobuf.Any": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "google.protobuf.NullValue": {
      "type": "string",
      "enum": [
        "NULL_VALUE"
      ],
      "default": "NULL_VALUE",
      "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`.\n\n - NULL_VALUE: Null value."
    },
    "google.rpc.Status": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/google.protobuf.Any"
          }
        }
      }
    }
  }
}
