{
  "swagger": "2.0",
  "info": {
    "title": "gRPC for our DBaaS dataflow service",
    "description": "notably uses gRPC-Gateway with OpenAPI",
    "version": "0.1"
  },
  "tags": [
    {
      "name": "BackupInternalService"
    },
    {
      "name": "BackupService"
    },
    {
      "name": "ChangefeedInstanceTypeService"
    },
    {
      "name": "ConnectorService"
    },
    {
      "name": "DPFeatureService"
    },
    {
      "name": "ImportInnerService"
    },
    {
      "name": "ImportService"
    },
    {
      "name": "OpsInternalService"
    },
    {
      "name": "OPSService"
    },
    {
      "name": "ServerlessBackupInternalService"
    },
    {
      "name": "SinkEndpointService"
    }
  ],
  "schemes": ["https"],
  "consumes": ["application/json"],
  "produces": ["application/json"],
  "paths": {
    "/api/v1/admin/orgs/{org_id}/clusters/{cluster_id}/tcu": {
      "get": {
        "operationId": "GetClusterTCUForAdmin",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetClusterTCUResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "query",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/changefeed/instance_types": {
      "get": {
        "operationId": "ListChangefeedInstanceTypes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowChangefeedInstanceTypes"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "cluster_id",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_type",
            "description": " - TIDB: deprecated",
            "in": "query",
            "required": false,
            "type": "string",
            "default": "TOTAL",
            "enum": ["TOTAL", "KAFKA", "TIDB", "MYSQL", "SERVERLESS_TIDB", "S3", "GCS", "PULSAR", "AZURE_BLOB_STORAGE"]
          }
        ],
        "tags": ["ChangefeedInstanceTypeService"]
      }
    },
    "/api/v1/dataflow/get-s3-bucket-region": {
      "get": {
        "operationId": "GetS3BucketRegion",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetS3BucketRegionResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "s3_url",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/dataflow/imports/apply-table-filters": {
      "post": {
        "operationId": "ApplyTableFilters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsApplyTableFiltersResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/dataflowImportsApplyTableFiltersReq"
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/dataflow/imports/data-type": {
      "get": {
        "operationId": "ListDataTypes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsListDataTypesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "tags": ["ImportService"]
      }
    },
    "/api/v1/dataflow/ops/cluster/{cluster_id}:pauseChangefeeds": {
      "post": {
        "operationId": "OpsInternalService_PauseClusterChangefeeds",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/config/apply": {
      "post": {
        "operationId": "OpsInternalService_ApplyConfigChanges",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowApplyConfigChangesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/dataflowApplyConfigChangesReq"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalChangefeeds": {
      "get": {
        "operationId": "OpsInternalService_ListInternalChangefeeds",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListInternalChangefeedsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_cluster_id",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalChangefeeds/{changefeed_id}": {
      "get": {
        "operationId": "OpsInternalService_GetInternalChangefeed",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowInternalChangefeed"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "changefeed_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalChangefeeds/{changefeed_id}:pause": {
      "post": {
        "operationId": "OpsInternalService_PauseChangefeed",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "changefeed_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalChangefeeds/{changefeed_id}:restart": {
      "post": {
        "operationId": "OpsInternalService_RestartChangefeed",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "changefeed_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalChangefeeds/{changefeed_id}:resume": {
      "post": {
        "operationId": "OpsInternalService_ResumeChangefeed",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "changefeed_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalTiCDCClusters/{ticdc_cluster_id}": {
      "get": {
        "operationId": "OpsInternalService_GetInternalTiCDCCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowInternalTiCDCCluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "ticdc_cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/internalTiCDCClusters/{ticdc_cluster_id}:restart": {
      "post": {
        "operationId": "OpsInternalService_RestartTiCDCCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "ticdc_cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/dataflow/ops/storage/apply": {
      "post": {
        "operationId": "OpsInternalService_UpdateTiCDCClusterStorage",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowUpdateTiCDCClusterStorageResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/dataflowUpdateTiCDCClusterStorageReq"
            }
          }
        ],
        "tags": ["OpsInternalService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/cal_changefeed_fee": {
      "post": {
        "operationId": "CalChangefeedFee",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowCalChangefeedFeeResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "cloud_provider_name": {
                  "type": "string"
                },
                "region_name": {
                  "type": "string"
                },
                "duration": {
                  "type": "string",
                  "format": "int64"
                },
                "changefeed_instance_type": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/admin_profile": {
      "get": {
        "operationId": "ConnectorService_DescribeAdminProfile",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowAdminProfileResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups": {
      "get": {
        "operationId": "ListBackups",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowBackups"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "backup_id",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "status",
            "description": " - BACKUP_STATUS_SKIPPED: Backup skipped due to cluster paused or schedule timeout\n - BACKUP_STATUS_TERMINIATED: User delete backups during backup",
            "in": "query",
            "required": false,
            "type": "string",
            "default": "BACKUP_STATUS_UNSPECIFIED",
            "enum": [
              "BACKUP_STATUS_UNSPECIFIED",
              "BACKUP_STATUS_PENDING",
              "BACKUP_STATUS_RUNNING",
              "BACKUP_STATUS_FAILED",
              "BACKUP_STATUS_SUCCESS",
              "BACKUP_STATUS_SKIPPED",
              "BACKUP_STATUS_TERMINIATED"
            ]
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/log-backups": {
      "get": {
        "operationId": "ListLogBackups",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowLogBackupListResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/options": {
      "get": {
        "operationId": "GetBackupOptions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowBackupOptionsResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/pitr/ranges": {
      "get": {
        "operationId": "ListPiTRTimeRanges",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowPiTRTimeRangeListResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/restores/progress": {
      "get": {
        "operationId": "GetRestoreProgress",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowRestoreProgressResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/schedules": {
      "get": {
        "summary": "Deprecated: remove it later",
        "operationId": "GetAutoBackupSetting",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowAutoBackupSetting"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      },
      "post": {
        "operationId": "CreateBackupSchedule",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowCreateBackupScheduleResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "backup_type": {
                  "$ref": "#/definitions/dataflowBackupType"
                },
                "backup_time": {
                  "type": "string"
                },
                "backup_mode": {
                  "$ref": "#/definitions/dataflowBackupMode"
                },
                "retention_period": {
                  "type": "integer",
                  "format": "int64"
                }
              },
              "required": ["description", "name", "backup_type", "backup_time", "backup_mode"]
            }
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/serverless_pitr_ranges": {
      "get": {
        "summary": "Deprecated: remove it later",
        "operationId": "ListServerlessPiTRTimeRanges",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListServerlessPiTRTimeRangesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/serverless_restores": {
      "get": {
        "summary": "Serverless dedicated APIs\nDeprecated: remove it later",
        "operationId": "ListServerlessRestores",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListServerlessRestoresResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/setting": {
      "get": {
        "summary": "Deprecated: remove it later",
        "operationId": "GetBackupSetting",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowBackupSettingResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      },
      "post": {
        "summary": "Deprecated",
        "operationId": "ModifyBackupSetting",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowBackupSettingResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "regions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "description": {
                  "type": "string"
                },
                "pitr": {
                  "$ref": "#/definitions/dataflowPiTRSetting"
                },
                "switch_immediately": {
                  "type": "boolean"
                },
                "volume_backup": {
                  "$ref": "#/definitions/dataflowVolumeBackupSetting"
                },
                "backup_schedule": {
                  "$ref": "#/definitions/dataflowBackupScheduleSetting"
                }
              },
              "required": ["regions", "description"]
            }
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/{id}": {
      "delete": {
        "operationId": "DeleteBackup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/backups/{id}/restore": {
      "post": {
        "operationId": "RestoreBackup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowRestoreResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "id",
            "description": "it is backup id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "cluster_name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "components": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/dataflowSimpleClusterComponent"
                  }
                },
                "port": {
                  "type": "integer",
                  "format": "int32"
                },
                "restore_mode": {
                  "$ref": "#/definitions/dataflowRestoreMode"
                },
                "restored_ts": {
                  "description": "Only used for PITR restore, indicates the timestamp that cluster will be restored to.",
                  "type": "string",
                  "format": "int64"
                },
                "region": {
                  "description": "The region where the cluster locates.",
                  "type": "string"
                },
                "backup_region": {
                  "description": "[optional] You can specify backup region that you want to restore from. It's useful when the backup has enabled dual-region.\nIf not specified, will try to restore from the bucket covering the target cluster's region; falls back to the backup's primary bucket if no match.",
                  "type": "string"
                }
              },
              "required": ["restore_mode"]
            }
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/changefeeds/{changefeed_id}/scale": {
      "post": {
        "operationId": "ScaleChangefeed",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "changefeed_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "changefeed_instance_type": {
                  "type": "string"
                }
              },
              "required": ["changefeed_instance_type"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors": {
      "get": {
        "operationId": "ListConnectors",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowConnectors"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "connector_type",
            "description": " - TIDB: deprecated",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "TOTAL",
            "enum": ["TOTAL", "KAFKA", "TIDB", "MYSQL", "SERVERLESS_TIDB", "S3", "GCS", "PULSAR", "AZURE_BLOB_STORAGE"]
          }
        ],
        "tags": ["ConnectorService"]
      },
      "post": {
        "operationId": "CreateConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowConnectorID"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "connector_type": {
                  "$ref": "#/definitions/dataflowConnectorType"
                },
                "kafka_info": {
                  "$ref": "#/definitions/dataflowKafkaInfo"
                },
                "mysql_info": {
                  "$ref": "#/definitions/dataflowMySQLInfo"
                },
                "s3_info": {
                  "$ref": "#/definitions/dataflowS3Info"
                },
                "gcs_info": {
                  "$ref": "#/definitions/dataflowGcsInfo"
                },
                "serverless_tidb_info": {
                  "$ref": "#/definitions/dataflowServerlessTidbInfo"
                },
                "pulsar_info": {
                  "$ref": "#/definitions/dataflowPulsarInfo"
                },
                "azure_blob_storage_info": {
                  "$ref": "#/definitions/dataflowAzureBlobStorageInfo"
                },
                "changefeed_instance_type": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "internal": {
                  "type": "boolean"
                },
                "network_info": {
                  "$ref": "#/definitions/dataflowNetworkInfo"
                },
                "dry_run": {
                  "type": "boolean"
                }
              },
              "required": ["connector_type"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/edit": {
      "post": {
        "operationId": "EditConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "connector_id": {
                  "type": "string",
                  "format": "uint64"
                },
                "connector_type": {
                  "$ref": "#/definitions/dataflowConnectorType"
                },
                "kafka_info": {
                  "$ref": "#/definitions/dataflowKafkaInfo"
                },
                "mysql_info": {
                  "$ref": "#/definitions/dataflowMySQLInfo"
                },
                "serverless_tidb_info": {
                  "$ref": "#/definitions/dataflowServerlessTidbInfo"
                },
                "s3_info": {
                  "$ref": "#/definitions/dataflowS3Info"
                },
                "gcs_info": {
                  "$ref": "#/definitions/dataflowGcsInfo"
                },
                "pulsar_info": {
                  "$ref": "#/definitions/dataflowPulsarInfo"
                },
                "azure_blob_storage_info": {
                  "$ref": "#/definitions/dataflowAzureBlobStorageInfo"
                },
                "name": {
                  "type": "string"
                },
                "dry_run": {
                  "type": "boolean"
                }
              },
              "required": ["connector_type", "connector_id"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/enabled-features": {
      "get": {
        "operationId": "ListConnectorEnabledFeatures",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListConnectorEnabledFeaturesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_type",
            "description": " - TIDB: deprecated",
            "in": "query",
            "required": false,
            "type": "string",
            "default": "TOTAL",
            "enum": ["TOTAL", "KAFKA", "TIDB", "MYSQL", "SERVERLESS_TIDB", "S3", "GCS", "PULSAR", "AZURE_BLOB_STORAGE"]
          },
          {
            "name": "connector_id",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/kafka-private-links": {
      "get": {
        "operationId": "GetPrivateLink",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetChangefeedPrivateLinkResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "kafka_id",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["ConnectorService"]
      },
      "post": {
        "operationId": "CreatePrivateLink",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowCreateChangefeedPrivateLinkResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "private_link_service_name": {
                  "type": "string"
                },
                "kafka_id": {
                  "type": "string"
                },
                "kafka_type": {
                  "$ref": "#/definitions/dataflowKafkaType"
                },
                "provider": {
                  "type": "string"
                },
                "zones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": ["kafka_id", "provider", "kafka_type", "private_link_service_name"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/kafka-private-links/auth-info": {
      "get": {
        "operationId": "GetPrivateLinkAuthInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetPrivateLinkAuthInfoResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "kafka_id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/kafka-private-links/available-zones": {
      "get": {
        "operationId": "GetPrivateLinkAvailableZones",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetPrivateLinkAvailableZoneResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/kafka-private-links/generate-advertised-pattern-group": {
      "post": {
        "operationId": "GenerateAdvertisedPatternGroup",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGenerateAdvertisedPatternResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "private_link_service_name": {
                  "type": "string"
                },
                "kafka_id": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "zones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": ["kafka_id", "provider"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/test": {
      "post": {
        "operationId": "TestConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "connector_type": {
                  "$ref": "#/definitions/dataflowConnectorType"
                },
                "kafka_info": {
                  "$ref": "#/definitions/dataflowKafkaInfo"
                },
                "mysql_info": {
                  "$ref": "#/definitions/dataflowMySQLInfo"
                },
                "s3_info": {
                  "$ref": "#/definitions/dataflowS3Info"
                },
                "gcs_info": {
                  "$ref": "#/definitions/dataflowGcsInfo"
                },
                "serverless_tidb_info": {
                  "$ref": "#/definitions/dataflowServerlessTidbInfo"
                },
                "pulsar_info": {
                  "$ref": "#/definitions/dataflowPulsarInfo"
                },
                "azure_blob_storage_info": {
                  "$ref": "#/definitions/dataflowAzureBlobStorageInfo"
                },
                "changefeed_instance_type": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "internal": {
                  "type": "boolean"
                },
                "network_info": {
                  "$ref": "#/definitions/dataflowNetworkInfo"
                },
                "dry_run": {
                  "type": "boolean"
                }
              },
              "required": ["connector_type"]
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/{connector_id}": {
      "get": {
        "operationId": "GetConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowConnector"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      },
      "delete": {
        "operationId": "DeleteConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/{connector_id}/detail": {
      "get": {
        "summary": "For E2E tests",
        "operationId": "GetChangefeedDetail",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/{connector_id}/start": {
      "post": {
        "operationId": "StartConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/{connector_id}/stop": {
      "post": {
        "operationId": "StopConnector",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/connectors/{connector_id}/ticdc_cluster": {
      "get": {
        "summary": "For E2E tests",
        "operationId": "GetTiCDCCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "connector_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/data-ingestion-profile": {
      "get": {
        "operationId": "ImportService_GetDataIngestionProfile",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowDataIngestionProfile"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/describeSchemaTable": {
      "post": {
        "operationId": "DescribeSchemaTable",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowDescribeSchemaTableResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "filter_rule": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "case_sensitive": {
                  "type": "boolean"
                }
              }
            }
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/enabled_dp_features": {
      "get": {
        "operationId": "GetEnabledDPFeaturesForCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowEnabledDPFeaturesForClusterResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["DPFeatureService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/import-target-tables": {
      "get": {
        "operationId": "GetClusterTables",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsGetClusterTablesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports": {
      "get": {
        "operationId": "ListImports",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListImportResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "statuses",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": ["UNKNOWN", "PREPARING", "IMPORTING", "COMPLETED", "FAILED", "CANCELING", "CANCELED"]
            },
            "collectionFormat": "multi"
          },
          {
            "name": "page",
            "description": "start from 1",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "created_by_dm",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "tags": ["ImportService"]
      },
      "put": {
        "operationId": "CreateImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowClusterImportId"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "source_url": {
                  "type": "string",
                  "title": "import info"
                },
                "region": {
                  "type": "string"
                },
                "data_format": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: sql statement(dumpling default format\n2: aurora snapshot(parquet)\n3: custom csv\n4: parquet format(not aurora)"
                },
                "data_source_type": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: aws s3\n2: GCS\n3: LOCAL\n4. Azure Blob"
                },
                "target_username": {
                  "description": "deprecated, use internal user instead",
                  "type": "string"
                },
                "target_password": {
                  "description": "deprecated, use internal password instead",
                  "type": "string"
                },
                "filter": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "csv_format": {
                  "$ref": "#/definitions/dataflowCustomCSVFormat"
                },
                "aws_role_arn": {
                  "type": "string"
                },
                "object_name_pattern": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "target_table_pattern": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "local_import_cfg": {
                  "$ref": "#/definitions/dataflowLocalImportCfg"
                },
                "name": {
                  "type": "string"
                },
                "dup_handling_for_sql": {
                  "$ref": "#/definitions/dataflowDupHandlingForSql"
                },
                "aws_access_key_id": {
                  "type": "string"
                },
                "aws_secret_access_key": {
                  "type": "string"
                },
                "target_table_infos": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/dataflowImportTargetTableInfo"
                  }
                },
                "need_drop_tables": {
                  "type": "boolean",
                  "title": "need_drop_tables is only used in tutorial"
                },
                "azblob_sas_token": {
                  "type": "string"
                },
                "conn_method": {
                  "type": "string"
                },
                "endpoint_service_name": {
                  "type": "string"
                },
                "skip_checksum": {
                  "type": "boolean"
                }
              },
              "required": ["region", "data_format", "data_source_type"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/local/table-columns": {
      "get": {
        "operationId": "GetTableColumns",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsGetTableColumnsResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "db",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "table",
            "in": "query",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/preview": {
      "post": {
        "operationId": "Preview",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsPreviewResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "import_create_req": {
                  "$ref": "#/definitions/dataflowImportCreateReq",
                  "title": "Use ImportCreateReq as the common request temporarily.\nIn ImportsPreviewReq, below is requied:\n1. id\n2. source_url\n3. region\n4. data_format\n5. data_source_type\n7. csv_format (can be empty)\n8. aws_role_arn"
                }
              },
              "required": ["import_create_req"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/preview-csv-file": {
      "post": {
        "operationId": "PreviewCsvFile",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsPreviewCsvFileResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "target_table": {
                  "$ref": "#/definitions/commonTable"
                },
                "source_uri": {
                  "type": "string"
                },
                "csv_format": {
                  "$ref": "#/definitions/dataflowCustomCSVFormat"
                },
                "first_n": {
                  "type": "string",
                  "format": "uint64"
                },
                "aws_role_arn": {
                  "type": "string"
                },
                "aws_access_key_id": {
                  "type": "string"
                },
                "aws_secret_access_key": {
                  "type": "string"
                },
                "azblob_sas_token": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/preview-local": {
      "post": {
        "operationId": "PreviewLocal",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsPreviewLocalResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "file_name": {
                  "type": "string"
                },
                "data_format": {
                  "$ref": "#/definitions/dataflowImportDataFormat"
                },
                "region": {
                  "type": "string"
                },
                "csv_format": {
                  "$ref": "#/definitions/dataflowCustomCSVFormat"
                },
                "n": {
                  "type": "string",
                  "format": "uint64"
                }
              },
              "required": ["file_name", "data_format", "region"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/schemas-meta": {
      "post": {
        "operationId": "GetSchemasMeta",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsGetSchemasMetaResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "import_create_req": {
                  "$ref": "#/definitions/dataflowImportCreateReq",
                  "title": "Use ImportCreateReq as the common request temporarily.\nIn ImportsGetSchemasMetaReq, below is requied:\n1. id\n2. source_url\n3. region\n4. data_format\n5. data_source_type\n6. aws_role_arn"
                }
              },
              "required": ["import_create_req"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/search-import-files": {
      "post": {
        "operationId": "SearchImportFiles",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsSearchImportFilesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "target_table_infos": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/dataflowImportTargetTableInfo"
                  }
                },
                "source_uri": {
                  "type": "string"
                },
                "data_format": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: sql statement(dumpling default format\n2: aurora snapshot(parquet)\n3: custom csv\n4: parquet format(not aurora)"
                },
                "data_source_type": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: aws s3\n2: GCS\n3: LOCAL\n4: azure blob"
                },
                "aws_role_arn": {
                  "type": "string"
                },
                "aws_access_key_id": {
                  "type": "string"
                },
                "aws_secret_access_key": {
                  "type": "string"
                },
                "azblob_sas_token": {
                  "type": "string"
                }
              },
              "required": ["target_table_infos", "source_uri", "data_format", "data_source_type"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/upload": {
      "post": {
        "operationId": "GenerateUploadUrl",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportsGenerateUploadUrlResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "region": {
                  "type": "string"
                },
                "file_name": {
                  "type": "string"
                },
                "content_length": {
                  "type": "string",
                  "format": "int64"
                }
              },
              "required": ["file_name", "content_length"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/validate": {
      "post": {
        "operationId": "ValidateImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "source_url": {
                  "type": "string",
                  "title": "import info"
                },
                "region": {
                  "type": "string"
                },
                "data_source_type": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: aws s3\n2: GCS\n3: LOCAL\n4: azure blob"
                },
                "target_username": {
                  "description": "deprecated, use internal user instead",
                  "type": "string"
                },
                "target_password": {
                  "description": "deprecated, use internal password instead",
                  "type": "string"
                },
                "aws_role_arn": {
                  "type": "string"
                },
                "db_tbl_filter": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "obj_name_pattern": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "target_tbl_name": {
                  "description": "deprecated, use target_table_infos instead",
                  "type": "string"
                },
                "data_format": {
                  "type": "integer",
                  "format": "int64",
                  "title": "1: sql statement(dumpling default format)\n2: aurora snapshot(parquet)\n3: custom csv\n4: parquet format(not aurora)"
                },
                "csv_format": {
                  "$ref": "#/definitions/dataflowCustomCSVFormat"
                },
                "check_items": {
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/dataflowImportValidationItem"
                  }
                },
                "aws_access_key_id": {
                  "type": "string"
                },
                "aws_secret_access_key": {
                  "type": "string"
                },
                "target_table_infos": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "$ref": "#/definitions/dataflowImportTargetTableInfo"
                  }
                },
                "azblob_sas_token": {
                  "type": "string"
                }
              },
              "required": ["source_url", "region", "data_source_type", "data_format"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/validate-target-table-empty": {
      "post": {
        "operationId": "ValidateTargetTableEmpty",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "target_table": {
                  "$ref": "#/definitions/commonTable"
                }
              },
              "required": ["target_table"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/{id}": {
      "get": {
        "operationId": "GetImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportGetResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/{id}/cancel": {
      "post": {
        "summary": "Cancel the import and mark the status as 'canceled' status.",
        "operationId": "CancelImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports/{id}/exit": {
      "post": {
        "summary": "Exit make the cluster exit the importing status\nBy design, when the cluster in the importing status, will display the\nimporting information and can not see the metrics than display at normal\nstatus and some operation like scale is also forbidden. After the import\nfinish, the cluster will still keep on importing status for user to check\nthe result, the user must click the 'Exit' button to exit the importing\nstatus explicitly. only finished status(success, failed, canceled) of a\nimport can exit the importing status.",
        "operationId": "ExitImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/imports:precheck": {
      "post": {
        "summary": "Precheck and return the scan result.",
        "operationId": "PrecheckImport",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowImportPrecheckResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "description": "Required. The organize ID.",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "description": "Required. The project ID.",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "description": "Required. The cluster ID.",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "description": "ImportPrecheckReq is the request for Import precheck.\nThe target cluster info will be auto-filled by the service.",
              "type": "object",
              "properties": {
                "import_options": {
                  "description": "Required. The options of the import.",
                  "$ref": "#/definitions/agentImportOptions"
                },
                "source": {
                  "description": "Required. The source of the import.",
                  "$ref": "#/definitions/agentImportSource"
                }
              },
              "required": ["import_options", "source"]
            }
          }
        ],
        "tags": ["ImportService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/tcu": {
      "get": {
        "operationId": "GetClusterTCU",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetClusterTCUResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/ticdc_clusters": {
      "get": {
        "operationId": "ListTiCDCClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["ConnectorService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/recycle-bin": {
      "get": {
        "operationId": "ListRecycleBinClusters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListRecycleBinClustersResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/recycle-bin/{cluster_id}": {
      "get": {
        "operationId": "GetRecycleBinCluster",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetRecycleBinClusterResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/recycle-bin/{cluster_id}/backups": {
      "delete": {
        "operationId": "DeleteDeletedClusterAndBackups",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints": {
      "get": {
        "operationId": "ListSinkEndpoints",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListSinkEndpointsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "string",
            "default": "SINK_ENDPOINT_STATUS_UNSPECIFIED",
            "enum": [
              "SINK_ENDPOINT_STATUS_UNSPECIFIED",
              "SINK_ENDPOINT_STATUS_CREATING",
              "SINK_ENDPOINT_STATUS_PENDING_ACCEPTANCE",
              "SINK_ENDPOINT_STATUS_AVAILABLE",
              "SINK_ENDPOINT_STATUS_FAILED"
            ]
          }
        ],
        "tags": ["SinkEndpointService"]
      },
      "post": {
        "operationId": "CreateSinkEndpoint",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowSinkEndpoint"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "sink_endpoint",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/dataflowSinkEndpoint"
            }
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints/auth-info": {
      "get": {
        "operationId": "GetSinkEndpointAuthInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGetSinkEndpointAuthInfoResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints/availability-zones": {
      "get": {
        "operationId": "ListSinkAvailabilityZones",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListSinkAvailabilityZonesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints/generate-advertised-listener": {
      "post": {
        "operationId": "GenerateSinkAdvertisedListener",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowGenerateSinkAdvertisedListenerResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "region": {
                  "type": "string"
                },
                "zones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "endpoint_service_name": {
                  "type": "string"
                },
                "downstream_id": {
                  "type": "string"
                }
              },
              "required": ["provider", "region", "endpoint_service_name", "downstream_id"]
            }
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints/validate-advertised-listener-domain": {
      "post": {
        "operationId": "ValidateSinkAdvertisedListenerDomain",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowValidateSinkAdvertisedListenerDomainResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "region": {
                  "type": "string"
                },
                "root_domain_name": {
                  "type": "string"
                },
                "zones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": ["provider", "region", "root_domain_name"]
            }
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/projects/{project_id}/sink-endpoints/{sink_endpoint_id}": {
      "get": {
        "operationId": "GetSinkEndpoint",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowSinkEndpoint"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "sink_endpoint_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["SinkEndpointService"]
      },
      "delete": {
        "operationId": "DeleteSinkEndpoint",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "sink_endpoint_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          }
        ],
        "tags": ["SinkEndpointService"]
      }
    },
    "/api/v1/orgs/{org_id}/recycle-bin": {
      "get": {
        "operationId": "ListRecycleBinClustersV2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/dataflowListRecycleBinClustersV2Resp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uint64"
          },
          {
            "name": "project_ids",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uint64"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "cluster_name",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "regions",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "tags": ["BackupService"]
      }
    },
    "/debug-api/event-bus/consumer-DLQ": {
      "post": {
        "operationId": "ConsumerEventBusDLQ",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "tags": ["OPSService"]
      }
    }
  },
  "definitions": {
    "BackupExternalStatus": {
      "type": "string",
      "enum": ["UNKNOWN", "RUNNING", "SUCCESS", "FAILED", "PENDING"],
      "default": "UNKNOWN"
    },
    "BackupOptionsRespDualRegionOptions": {
      "type": "object",
      "properties": {
        "region_options": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/BackupOptionsRespRegionOptions"
          }
        },
        "cluster_region": {
          "$ref": "#/definitions/dataflowRegionInfo"
        }
      }
    },
    "BackupOptionsRespRegionOptions": {
      "type": "object",
      "properties": {
        "region": {
          "$ref": "#/definitions/dataflowRegionInfo"
        },
        "continent": {
          "type": "string"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "S3SourceAccessKey": {
      "type": "object",
      "properties": {
        "id": {
          "description": "The access key id.",
          "type": "string"
        },
        "secret": {
          "description": "The secret access key. This field is input-only.",
          "type": "string"
        }
      },
      "required": ["id", "secret"]
    },
    "S3SourceRoleArn": {
      "type": "object",
      "properties": {
        "role_arn": {
          "type": "string",
          "title": "The role arn"
        },
        "external_id": {
          "type": "string",
          "title": "The aws external id"
        }
      },
      "required": ["role_arn", "external_id"]
    },
    "SimpleClusterComponentStorageType": {
      "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.",
      "type": "string",
      "enum": ["STORAGE_TYPE_UNSPECIFIED", "Basic", "Standard", "Performance", "Plus"],
      "default": "STORAGE_TYPE_UNSPECIFIED"
    },
    "SinkAdvertisedListenerDomainType": {
      "type": "string",
      "enum": ["DOMAIN_TYPE_UNSPECIFIED", "GENERATED", "CUSTOM"],
      "default": "DOMAIN_TYPE_UNSPECIFIED"
    },
    "SinkAdvertisedListenerRecord": {
      "type": "object",
      "properties": {
        "zone": {
          "type": "string"
        },
        "subdomain_name": {
          "type": "string"
        }
      }
    },
    "agentAzureBlobSource": {
      "type": "object",
      "properties": {
        "auth_type": {
          "description": "The Azure Blob URI of the import source.",
          "$ref": "#/definitions/agentImportAzureBlobAuthTypeEnum"
        },
        "sas_token": {
          "description": "The sas token. This field is input-only.",
          "type": "string"
        },
        "uri": {
          "description": "The Azure Blob URI of the import source. For example: azure://<account>.blob.core.windows.net/<container>/<path>.",
          "type": "string"
        },
        "target_table_infos": {
          "description": "The target table information of the import.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentImportTargetTableInfo"
          }
        }
      },
      "required": ["auth_type", "uri"]
    },
    "agentColumnValue": {
      "type": "object",
      "properties": {
        "string_value": {
          "type": "string"
        },
        "int64_value": {
          "type": "string",
          "format": "int64"
        },
        "double_value": {
          "type": "number",
          "format": "double"
        },
        "bool_value": {
          "type": "boolean"
        },
        "timestamp_value": {
          "type": "string",
          "format": "date-time",
          "title": "for datetime, timestamp, date"
        }
      }
    },
    "agentCsvConfig": {
      "type": "object",
      "properties": {
        "separator": {
          "description": "Specifies the field separator. The default separator is ,.",
          "type": "string"
        },
        "delimiter": {
          "type": "string",
          "title": "Specifies the field delimiter. The default delimiter is \""
        },
        "header": {
          "description": "Import CSV files of the tables with header. Default is true.",
          "type": "boolean"
        },
        "backslash_escape": {
          "type": "boolean"
        },
        "trim_last_separator": {
          "type": "boolean"
        },
        "not_null": {
          "description": "Whether the columns in CSV files can be null. Default is false.",
          "type": "boolean"
        },
        "null_value": {
          "description": "Representation of null values in CSV files. Default is \"\\N\".",
          "type": "string"
        }
      }
    },
    "agentGCSSource": {
      "type": "object",
      "properties": {
        "uri": {
          "description": "The GCS URI of the import source.",
          "type": "string"
        },
        "auth_type": {
          "description": "The auth method of the import source.",
          "$ref": "#/definitions/agentImportGcsAuthTypeEnum"
        },
        "service_account_key": {
          "type": "string",
          "title": "The service account key"
        },
        "target_table_infos": {
          "description": "The target table information of the import.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentImportTargetTableInfo"
          }
        }
      },
      "required": ["uri", "auth_type"]
    },
    "agentImportAzureBlobAuthTypeEnum": {
      "description": " - UNSPECIFIED: The access method is unknown.\n - SAS_TOKEN: The access method is sas token.",
      "type": "string",
      "enum": ["UNSPECIFIED", "SAS_TOKEN"],
      "default": "UNSPECIFIED"
    },
    "agentImportFileTypeEnum": {
      "description": " - UNSPECIFIED: The type of the file is unknown.\n - CSV: CSV type.\n - SQL: SQL type.\n - AURORA_SNAPSHOT: Aurora snapshot type.\n - PARQUET: Parquet type.",
      "type": "string",
      "enum": ["UNSPECIFIED", "CSV", "SQL", "AURORA_SNAPSHOT", "PARQUET"],
      "default": "UNSPECIFIED"
    },
    "agentImportGcsAuthTypeEnum": {
      "description": " - AUTH_TYPE_UNSPECIFIED: The access method is unknown.\n - SERVICE_ACCOUNT_KEY: The access method is service account key.",
      "type": "string",
      "enum": ["AUTH_TYPE_UNSPECIFIED", "SERVICE_ACCOUNT_KEY"],
      "default": "AUTH_TYPE_UNSPECIFIED"
    },
    "agentImportOptions": {
      "type": "object",
      "properties": {
        "file_type": {
          "description": "The import file type.",
          "$ref": "#/definitions/agentImportFileTypeEnum"
        },
        "csv_config": {
          "description": "Optional. The CSV format.",
          "$ref": "#/definitions/agentCsvConfig"
        },
        "need_drop_table": {
          "description": "Optional. Only used in tutorial.",
          "type": "boolean"
        },
        "display_name": {
          "description": "Optional. The display name of the import.",
          "type": "string"
        }
      },
      "required": ["file_type"]
    },
    "agentImportPrecheckStatusTypeEnum": {
      "description": " - UNSPECIFIED: The precheck status is unknown.\n - COMPLETED: The precheck is completed.\n - TIMEOUT: The precheck is timeout and return partial result.\n - TRUNCATED: The precheck result is truncated.",
      "type": "string",
      "enum": ["UNSPECIFIED", "COMPLETED", "TIMEOUT", "TRUNCATED"],
      "default": "UNSPECIFIED"
    },
    "agentImportS3AuthTypeEnum": {
      "description": " - UNSPECIFIED: The access method is unknown.\n - ROLE_ARN: The access method is role arn.\n - ACCESS_KEY: The access method is access key.",
      "type": "string",
      "enum": ["UNSPECIFIED", "ROLE_ARN", "ACCESS_KEY"],
      "default": "UNSPECIFIED"
    },
    "agentImportSource": {
      "type": "object",
      "properties": {
        "type": {
          "description": "The import source type.",
          "$ref": "#/definitions/agentImportSourceTypeEnum"
        },
        "s3": {
          "$ref": "#/definitions/agentS3Source"
        },
        "gcs": {
          "$ref": "#/definitions/agentGCSSource"
        },
        "azure_blob": {
          "$ref": "#/definitions/agentAzureBlobSource"
        }
      },
      "required": ["type"]
    },
    "agentImportSourceTypeEnum": {
      "type": "string",
      "enum": ["UNSPECIFIED", "S3", "GCS", "AZURE_BLOB"],
      "title": "- UNSPECIFIED: The source of the import is unknown.\n - S3: S3 source.\n - GCS: gcs source\n - AZURE_BLOB: azure blob source",
      "default": "UNSPECIFIED"
    },
    "agentImportTargetTableInfo": {
      "type": "object",
      "properties": {
        "target_table": {
          "$ref": "#/definitions/commonTable"
        },
        "custom_file": {
          "type": "string"
        }
      },
      "required": ["target_table", "custom_file"]
    },
    "agentImportsSchemaMeta": {
      "type": "object",
      "properties": {
        "create_file": {
          "type": "string"
        },
        "max_data_file_size": {
          "type": "string",
          "format": "uint64"
        },
        "tables_meta": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/agentImportsTableMeta"
          },
          "title": "map: <table id, table meta>"
        },
        "create_file_size": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "agentImportsTableMeta": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "create_file": {
          "type": "string"
        },
        "data_file_num": {
          "type": "string",
          "format": "uint64"
        },
        "data_file_size": {
          "type": "string",
          "format": "uint64"
        },
        "first_data_file": {
          "type": "string"
        },
        "max_data_file_size": {
          "type": "string",
          "format": "uint64"
        },
        "create_file_size": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "agentRow": {
      "type": "object",
      "properties": {
        "column_values": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "typed_column_values": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentColumnValue"
          }
        }
      }
    },
    "agentS3Source": {
      "type": "object",
      "properties": {
        "uri": {
          "description": "The S3 URI of the import source.",
          "type": "string"
        },
        "auth_type": {
          "description": "The auth method of the import source.",
          "$ref": "#/definitions/agentImportS3AuthTypeEnum"
        },
        "role_arn": {
          "$ref": "#/definitions/S3SourceRoleArn",
          "title": "The role arn"
        },
        "access_key": {
          "description": "The access key.",
          "$ref": "#/definitions/S3SourceAccessKey"
        },
        "target_table_infos": {
          "description": "The target table information of the import.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentImportTargetTableInfo"
          }
        }
      },
      "required": ["uri", "auth_type"]
    },
    "agentSchema": {
      "type": "object",
      "properties": {
        "schema_name": {
          "type": "string"
        },
        "tables": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentTable"
          }
        }
      }
    },
    "agentTable": {
      "type": "object",
      "properties": {
        "schema_name": {
          "type": "string"
        },
        "table_name": {
          "type": "string"
        },
        "row_headers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "row_values": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentRow"
          }
        },
        "row_data_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "column_is_pk": {
          "type": "array",
          "items": {
            "type": "boolean"
          }
        },
        "column_auto_gen": {
          "type": "array",
          "items": {
            "type": "boolean"
          },
          "title": "column_auto_gen represents column is auto_increment or auto_random"
        }
      }
    },
    "agentTableResult": {
      "type": "object",
      "properties": {
        "target_table": {
          "description": "The target table.",
          "$ref": "#/definitions/commonTable"
        },
        "error_message": {
          "description": "The error message.",
          "type": "string"
        },
        "matched_data_files": {
          "description": "The matched data files.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "matched_schema_file": {
          "description": "The matched schema file.",
          "type": "string"
        },
        "use_schema_file": {
          "description": "Whether the matched schema file is used in import.",
          "type": "boolean"
        }
      }
    },
    "baseBaseResp": {
      "type": "object",
      "properties": {
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "such as: request_id, trace_id"
        },
        "err_code": {
          "type": "string",
          "format": "int64"
        },
        "err_msg": {
          "type": "string"
        }
      }
    },
    "commonTable": {
      "type": "object",
      "properties": {
        "schema": {
          "description": "The name of the database containing the target table.",
          "type": "string",
          "example": "database_name"
        },
        "table": {
          "description": "The name of the table within the database.",
          "type": "string",
          "example": "table_name"
        }
      }
    },
    "dataflowAdminProfileResp": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "aws_external_id": {
          "type": "string"
        },
        "aws_account_id": {
          "type": "string"
        },
        "gcp_account_id": {
          "type": "string"
        }
      },
      "required": ["type", "aws_external_id", "aws_account_id", "gcp_account_id"]
    },
    "dataflowApplyConfigChangesReq": {
      "type": "object",
      "properties": {
        "cluster_type": {
          "$ref": "#/definitions/dataflowConfigClusterType"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "configuration_file": {
          "$ref": "#/definitions/dataflowConfigFileType"
        },
        "custom_params": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/dataflowParamItem"
          }
        },
        "template_id": {
          "type": "string",
          "format": "uint64"
        },
        "version": {
          "type": "string"
        },
        "custom_image_tag": {
          "type": "string"
        }
      }
    },
    "dataflowApplyConfigChangesResp": {
      "type": "object"
    },
    "dataflowAuthentication": {
      "type": "object",
      "properties": {
        "auth_type": {
          "$ref": "#/definitions/dataflowKafkaAuthType"
        },
        "userName": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    },
    "dataflowAutoBackupSetting": {
      "type": "object",
      "properties": {
        "backup_mode": {
          "$ref": "#/definitions/dataflowBackupMode"
        },
        "backup_time": {
          "type": "string"
        },
        "max_backups": {
          "type": "string",
          "format": "uint64"
        },
        "retention_period": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["backup_mode", "backup_time"]
    },
    "dataflowAzureBlobStorageEndpoint": {
      "type": "object",
      "properties": {
        "blob_uri": {
          "type": "string"
        },
        "sas_token": {
          "type": "string"
        }
      }
    },
    "dataflowAzureBlobStorageInfo": {
      "type": "object",
      "properties": {
        "endpoint": {
          "$ref": "#/definitions/dataflowAzureBlobStorageEndpoint"
        },
        "data_format": {
          "$ref": "#/definitions/dataflowS3Dataformat"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "storage_flush_config": {
          "$ref": "#/definitions/dataflowStorageFlushConfig"
        }
      }
    },
    "dataflowBackup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster": {
          "$ref": "#/definitions/dataflowBackupCluster"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "size": {
          "type": "string",
          "format": "uint64"
        },
        "status": {
          "$ref": "#/definitions/BackupExternalStatus"
        },
        "type": {
          "$ref": "#/definitions/dataflowBackupType"
        },
        "expiration_time": {
          "type": "string",
          "format": "date-time"
        },
        "backup_ts": {
          "type": "string",
          "format": "date-time"
        },
        "is_volume_backup": {
          "type": "boolean"
        },
        "backup_tso": {
          "type": "string",
          "format": "uint64"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRegionInfo"
          }
        },
        "finished_at": {
          "description": "finished_at is the wall-clock time at which the backup workflow\ntransitioned to a terminal state (SUCCESS or FAILED). Empty while the\nbackup is still RUNNING or PENDING.",
          "type": "string",
          "format": "date-time"
        },
        "protected": {
          "description": "protected indicates that the backup is pinned and must not be removed by\nautomatic retention/expiration enforcement and manual deletion.",
          "type": "boolean"
        }
      },
      "required": ["id", "cluster", "name", "description", "created_at", "size", "status", "type", "expiration_time"]
    },
    "dataflowBackupCluster": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_version": {
          "type": "string"
        },
        "cluster_components": {
          "$ref": "#/definitions/dataflowClusterComponents"
        }
      },
      "required": ["cluster_id", "cluster_components"]
    },
    "dataflowBackupCycle": {
      "type": "string",
      "enum": ["DAILY", "WEEKLY"],
      "default": "DAILY"
    },
    "dataflowBackupMode": {
      "type": "string",
      "enum": ["FULL"],
      "default": "FULL"
    },
    "dataflowBackupOptionsResp": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "dual_region_options": {
          "$ref": "#/definitions/BackupOptionsRespDualRegionOptions"
        }
      },
      "required": ["cluster_id", "dual_region_options"]
    },
    "dataflowBackupScheduleSetting": {
      "type": "object",
      "properties": {
        "disable": {
          "type": "boolean",
          "title": "whether pause scheduling auto backup"
        },
        "backup_time": {
          "type": "string"
        },
        "retention_period": {
          "type": "integer",
          "format": "int64"
        },
        "backup_cycle": {
          "$ref": "#/definitions/dataflowBackupCycle"
        },
        "weekdays": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/dataflowWeekDay"
          }
        },
        "next_backup_time": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "dataflowBackupSettingResp": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "provider": {
          "type": "string"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRegionInfo"
          }
        },
        "description": {
          "type": "string"
        },
        "pitr": {
          "$ref": "#/definitions/dataflowPiTRSetting"
        },
        "volume_backup": {
          "$ref": "#/definitions/dataflowVolumeBackupSetting"
        },
        "backup_schedule": {
          "$ref": "#/definitions/dataflowBackupScheduleSetting"
        },
        "restore_regions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRegionInfo"
          }
        },
        "status": {
          "$ref": "#/definitions/dataflowBackupSettingStatus"
        }
      },
      "required": ["cluster_id", "provider", "regions", "description"]
    },
    "dataflowBackupSettingStatus": {
      "type": "string",
      "enum": ["Creating", "Editing_Region", "Editing_PiTR", "Normal", "Deleted", "Waiting_For_Editing_PiTR"],
      "default": "Creating"
    },
    "dataflowBackupStatus": {
      "type": "string",
      "enum": [
        "BACKUP_STATUS_UNSPECIFIED",
        "BACKUP_STATUS_PENDING",
        "BACKUP_STATUS_RUNNING",
        "BACKUP_STATUS_FAILED",
        "BACKUP_STATUS_SUCCESS",
        "BACKUP_STATUS_SKIPPED",
        "BACKUP_STATUS_TERMINIATED"
      ],
      "title": "- BACKUP_STATUS_SKIPPED: Backup skipped due to cluster paused or schedule timeout\n - BACKUP_STATUS_TERMINIATED: User delete backups during backup",
      "default": "BACKUP_STATUS_UNSPECIFIED"
    },
    "dataflowBackupStorageInfo": {
      "type": "object",
      "properties": {
        "bucket_id": {
          "type": "string",
          "format": "uint64"
        },
        "bucket_name": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "region": {
          "type": "string"
        }
      }
    },
    "dataflowBackupType": {
      "type": "string",
      "enum": ["AUTO", "MANUAL", "ALL"],
      "default": "AUTO"
    },
    "dataflowBackups": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowBackup"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["items", "total"]
    },
    "dataflowBasicServerlessBackup": {
      "type": "object",
      "properties": {
        "backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "backup_time": {
          "type": "string",
          "format": "date-time"
        },
        "expire_time": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "dataflowBigintUnsignedHandlingMode": {
      "type": "string",
      "enum": ["BIGINT_UNSIGNED_HANDLING_MODE_LONG", "BIGINT_UNSIGNED_HANDLING_MODE_STRING"],
      "default": "BIGINT_UNSIGNED_HANDLING_MODE_LONG"
    },
    "dataflowBinaryEncodingMethod": {
      "type": "string",
      "enum": ["BASE64", "HEX"],
      "default": "BASE64"
    },
    "dataflowBroker": {
      "type": "object",
      "properties": {
        "kafka_version": {
          "$ref": "#/definitions/dataflowKafkaVersion"
        },
        "broker_endpoints": {
          "type": "string"
        },
        "tls_enable": {
          "type": "boolean"
        },
        "compression": {
          "$ref": "#/definitions/dataflowCompressionType"
        },
        "insecure_skip_verify": {
          "type": "boolean"
        }
      }
    },
    "dataflowCalChangefeedFeeResp": {
      "type": "object",
      "properties": {
        "raw_fee": {
          "type": "number",
          "format": "double"
        },
        "fee": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "dataflowChangefeedInstanceType": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "rcu_num": {
          "type": "integer",
          "format": "int64"
        },
        "replicas": {
          "type": "integer",
          "format": "int64"
        },
        "rps_limit": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "dataflowChangefeedInstanceTypes": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowChangefeedInstanceType"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["items", "total"]
    },
    "dataflowClusterComponent": {
      "type": "object",
      "properties": {
        "replicas": {
          "type": "integer",
          "format": "int64"
        },
        "node_profile": {
          "$ref": "#/definitions/dataflowNodeProfile"
        }
      },
      "required": ["replicas", "node_profile"]
    },
    "dataflowClusterComponents": {
      "type": "object",
      "properties": {
        "tikv": {
          "$ref": "#/definitions/dataflowClusterComponent"
        },
        "tidb": {
          "$ref": "#/definitions/dataflowClusterComponent"
        },
        "tiflash": {
          "$ref": "#/definitions/dataflowClusterComponent"
        }
      },
      "required": ["tikv", "tidb", "tiflash"]
    },
    "dataflowClusterImportId": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": ["cluster_id", "id", "org_id", "project_id"]
    },
    "dataflowClusterInfoOfRestore": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "dataflowColumnInfo": {
      "type": "object",
      "properties": {
        "column_name": {
          "type": "string"
        },
        "column_type": {
          "type": "string"
        }
      }
    },
    "dataflowColumnSelector": {
      "type": "object",
      "properties": {
        "matcher": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowComponentType": {
      "type": "string",
      "enum": [
        "COMPONENT_TYPE_UNSPECIFIED",
        "COMPONENT_TYPE_TIDB",
        "COMPONENT_TYPE_TIKV",
        "COMPONENT_TYPE_TIFLASH",
        "COMPONENT_TYPE_PD",
        "COMPONENT_TYPE_TICDC",
        "COMPONENT_TYPE_TIPROXY"
      ],
      "default": "COMPONENT_TYPE_UNSPECIFIED"
    },
    "dataflowCompressionType": {
      "type": "string",
      "enum": ["NONE", "GZIP", "SNAPPY", "LZ4", "ZSTD"],
      "default": "NONE"
    },
    "dataflowCompute": {
      "type": "object",
      "properties": {
        "cpu": {
          "type": "number",
          "format": "float"
        },
        "memory_mi": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["cpu", "memory_mi"]
    },
    "dataflowConfigClusterType": {
      "type": "string",
      "enum": ["CONFIG_CLUSTER_TYPE_UNSPECIFIED", "TIDB_DEDICATED_CLUSTER", "TICDC_CLUSTER", "CHANGEFEED_CLUSTER"],
      "default": "CONFIG_CLUSTER_TYPE_UNSPECIFIED"
    },
    "dataflowConfigFileType": {
      "type": "string",
      "enum": [
        "CONFIG_FILE_TYPE_UNSPECIFIED",
        "BACKUP_FILE",
        "RESTORE_FILE",
        "TICDC_FILE",
        "CHANGEFEED_FILE",
        "SINK_URI",
        "COMPACT_BACKUP_BR_FILE",
        "COMPACT_BACKUP_TIKV_FILE"
      ],
      "default": "CONFIG_FILE_TYPE_UNSPECIFIED"
    },
    "dataflowConnection": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    },
    "dataflowConnector": {
      "type": "object",
      "properties": {
        "connector_id": {
          "type": "string",
          "format": "uint64"
        },
        "connector_type": {
          "$ref": "#/definitions/dataflowConnectorType"
        },
        "status": {
          "$ref": "#/definitions/dataflowConnectorStatus"
        },
        "checkpoint_tso": {
          "type": "string",
          "format": "uint64"
        },
        "checkpoint_utc": {
          "type": "string",
          "format": "date-time"
        },
        "error": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "request": {
          "$ref": "#/definitions/dataflowConnectorCreateReq"
        },
        "changefeed_instance_type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": ["connector_id", "connector_type", "status"]
    },
    "dataflowConnectorCreateReq": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "connector_type": {
          "$ref": "#/definitions/dataflowConnectorType"
        },
        "kafka_info": {
          "$ref": "#/definitions/dataflowKafkaInfo"
        },
        "mysql_info": {
          "$ref": "#/definitions/dataflowMySQLInfo"
        },
        "s3_info": {
          "$ref": "#/definitions/dataflowS3Info"
        },
        "gcs_info": {
          "$ref": "#/definitions/dataflowGcsInfo"
        },
        "serverless_tidb_info": {
          "$ref": "#/definitions/dataflowServerlessTidbInfo"
        },
        "pulsar_info": {
          "$ref": "#/definitions/dataflowPulsarInfo"
        },
        "azure_blob_storage_info": {
          "$ref": "#/definitions/dataflowAzureBlobStorageInfo"
        },
        "changefeed_instance_type": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "internal": {
          "type": "boolean"
        },
        "network_info": {
          "$ref": "#/definitions/dataflowNetworkInfo"
        },
        "dry_run": {
          "type": "boolean"
        }
      },
      "required": ["cluster_id", "org_id", "connector_type", "project_id"]
    },
    "dataflowConnectorID": {
      "type": "object",
      "properties": {
        "connector_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": ["connector_id", "cluster_id", "org_id", "project_id"]
    },
    "dataflowConnectorStatus": {
      "type": "string",
      "enum": [
        "RUNNING",
        "FAILED",
        "ERROR",
        "CREATING",
        "RESUMING",
        "PAUSING",
        "PAUSED",
        "DELETING",
        "DELETED",
        "EDITING",
        "WARNING",
        "SCALING"
      ],
      "default": "RUNNING"
    },
    "dataflowConnectorType": {
      "type": "string",
      "enum": ["TOTAL", "KAFKA", "TIDB", "MYSQL", "SERVERLESS_TIDB", "S3", "GCS", "PULSAR", "AZURE_BLOB_STORAGE"],
      "title": "- TIDB: deprecated",
      "default": "TOTAL"
    },
    "dataflowConnectors": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowConnector"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["items", "total"]
    },
    "dataflowCreateBackupScheduleResp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "backup_id": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": ["id"]
    },
    "dataflowCreateChangefeedPrivateLinkResp": {
      "type": "object",
      "properties": {
        "kafka_id": {
          "type": "string"
        },
        "phase": {
          "type": "string"
        },
        "private_link_service_name": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "dataflowCreateFinalBackupResp": {
      "type": "object",
      "properties": {
        "backup_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowCurrentTable": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "size": {
          "type": "string",
          "format": "uint64"
        },
        "completed_percent": {
          "type": "integer",
          "format": "int64",
          "title": "1~100"
        }
      },
      "required": ["name", "size", "completed_percent"]
    },
    "dataflowCustomCSVFormat": {
      "type": "object",
      "properties": {
        "separator": {
          "type": "string"
        },
        "delimiter": {
          "type": "string"
        },
        "header": {
          "type": "boolean"
        },
        "not_null": {
          "type": "boolean"
        },
        "null": {
          "type": "string"
        },
        "backslash_escape": {
          "type": "boolean"
        },
        "trim_last_separator": {
          "type": "boolean"
        },
        "header_schema_match": {
          "type": "boolean"
        }
      }
    },
    "dataflowDataFormat": {
      "type": "object",
      "properties": {
        "protocol": {
          "$ref": "#/definitions/dataflowProtocol"
        },
        "enable_tidb_extension": {
          "type": "boolean"
        },
        "decimal_handling_mode": {
          "$ref": "#/definitions/dataflowDecimalHandlingMode"
        },
        "bigint_unsigned_handling_mode": {
          "$ref": "#/definitions/dataflowBigintUnsignedHandlingMode"
        },
        "schema_registry": {
          "$ref": "#/definitions/dataflowSchemaRegistry"
        },
        "debezium_config": {
          "$ref": "#/definitions/dataflowDebeziumConfig"
        },
        "output_raw_change_event": {
          "type": "boolean"
        }
      }
    },
    "dataflowDataIngestionProfile": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "aws_external_id": {
          "type": "string"
        },
        "aws_account_id": {
          "type": "string"
        },
        "gcp_account_id": {
          "type": "string"
        },
        "import_role_arn": {
          "type": "string"
        }
      },
      "required": ["type", "aws_external_id", "aws_account_id", "gcp_account_id"]
    },
    "dataflowDebeziumConfig": {
      "type": "object",
      "properties": {
        "output_old_value": {
          "type": "boolean"
        },
        "disable_schema": {
          "type": "boolean"
        }
      }
    },
    "dataflowDecimalHandlingMode": {
      "type": "string",
      "enum": ["DECIMAL_HANDLING_MODE_PRECISE", "DECIMAL_HANDLING_MODE_STRING"],
      "default": "DECIMAL_HANDLING_MODE_PRECISE"
    },
    "dataflowDescribeSchemaTableResp": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "replicate_allow_schema_table": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "replicate_deny_schema_table": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "gc_safe_point": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": ["cluster_id", "project_id"]
    },
    "dataflowDispatchType": {
      "type": "string",
      "enum": ["DISPATCH_TYPE_ONE_TOPIC", "DISPATCH_TYPE_BY_TABLE", "DISPATCH_TYPE_BY_DATABASE"],
      "default": "DISPATCH_TYPE_ONE_TOPIC"
    },
    "dataflowDupHandlingForSql": {
      "type": "string",
      "enum": [
        "DUP_HANDLING_FOR_SQL_UNKNOWN",
        "DUP_HANDLING_FOR_SQL_REPLACE",
        "DUP_HANDLING_FOR_SQL_IGNORE",
        "DUP_HANDLING_FOR_SQL_ERROR"
      ],
      "default": "DUP_HANDLING_FOR_SQL_UNKNOWN"
    },
    "dataflowEnabledDPFeaturesForClusterResp": {
      "type": "object",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": ["features"]
    },
    "dataflowEventFilterRule": {
      "type": "object",
      "properties": {
        "matcher": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignore_event": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignore_sql": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignore_insert_value_expr": {
          "type": "string"
        },
        "ignore_update_new_value_expr": {
          "type": "string"
        },
        "ignore_update_old_value_expr": {
          "type": "string"
        },
        "ignore_delete_value_expr": {
          "type": "string"
        }
      }
    },
    "dataflowFullServerlessBackup": {
      "type": "object",
      "properties": {
        "backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "backup_time": {
          "type": "string",
          "format": "date-time"
        },
        "serverless_backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "serverless_backup_name": {
          "type": "string"
        },
        "expire_time": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "dataflowGcsEndpoint": {
      "type": "object",
      "properties": {
        "gcsUri": {
          "type": "string"
        }
      }
    },
    "dataflowGcsInfo": {
      "type": "object",
      "properties": {
        "endpoint": {
          "$ref": "#/definitions/dataflowGcsEndpoint"
        },
        "data_format": {
          "$ref": "#/definitions/dataflowS3Dataformat"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "storage_flush_config": {
          "$ref": "#/definitions/dataflowStorageFlushConfig"
        }
      }
    },
    "dataflowGenerateAdvertisedPatternResp": {
      "type": "object",
      "properties": {
        "advertised_pattern_group": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "key is zone and value is url,\nif no zones, key will be \"all zones\""
        },
        "tips": {
          "type": "string"
        }
      }
    },
    "dataflowGenerateSinkAdvertisedListenerResponse": {
      "type": "object",
      "properties": {
        "advertised_listener": {
          "$ref": "#/definitions/dataflowSinkAdvertisedListener"
        }
      }
    },
    "dataflowGetBackupResp": {
      "type": "object",
      "properties": {
        "backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "tenant_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_version": {
          "type": "string"
        },
        "data_size_bytes": {
          "type": "string",
          "format": "uint64"
        },
        "cloud_provider": {
          "type": "string"
        },
        "storage_infos": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowBackupStorageInfo"
          }
        }
      }
    },
    "dataflowGetChangefeedPrivateLinkResp": {
      "type": "object",
      "properties": {
        "kafka_id": {
          "type": "string"
        },
        "phase": {
          "type": "string"
        },
        "private_link_service_name": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "advertised_pattern_group": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "dataflowGetClusterTCUResp": {
      "type": "object",
      "properties": {
        "tcu_number": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": ["tcu_number"]
    },
    "dataflowGetPrivateLinkAuthInfoResp": {
      "type": "object",
      "properties": {
        "network": {
          "type": "string"
        },
        "cloud_account_id": {
          "type": "string"
        },
        "vpc_endpoint_id": {
          "type": "string"
        },
        "aws_principal_id": {
          "type": "string"
        }
      }
    },
    "dataflowGetPrivateLinkAvailableZoneResp": {
      "type": "object",
      "properties": {
        "zones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowGetRecycleBinClusterResp": {
      "type": "object",
      "properties": {
        "cluster": {
          "$ref": "#/definitions/dataflowRecycleBinCluster"
        }
      },
      "required": ["cluster"]
    },
    "dataflowGetRestoreResp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "create_timestamp": {
          "type": "string",
          "format": "date-time"
        },
        "backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "status": {
          "$ref": "#/definitions/dataflowGetRestoreRespStatusEnum"
        },
        "cluster": {
          "$ref": "#/definitions/dataflowClusterInfoOfRestore"
        }
      }
    },
    "dataflowGetRestoreRespStatusEnum": {
      "type": "string",
      "enum": ["RESTORE_STATUS_UNSPECIFIED", "PENDING", "RUNNING", "FAILED", "SUCCESS", "TERMINATED"],
      "title": "TODO(ideascf): To replace with service.proto:RestoreStatus",
      "default": "RESTORE_STATUS_UNSPECIFIED"
    },
    "dataflowGetS3BucketRegionResp": {
      "type": "object",
      "properties": {
        "region": {
          "type": "string"
        }
      },
      "required": ["region"]
    },
    "dataflowGetSinkEndpointAuthInfoResponse": {
      "type": "object",
      "properties": {
        "network": {
          "type": "string"
        },
        "cloud_account_id": {
          "type": "string"
        },
        "aws_principal_id": {
          "type": "string"
        }
      }
    },
    "dataflowImportCreateReq": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "source_url": {
          "type": "string",
          "title": "import info"
        },
        "region": {
          "type": "string"
        },
        "data_format": {
          "type": "integer",
          "format": "int64",
          "title": "1: sql statement(dumpling default format\n2: aurora snapshot(parquet)\n3: custom csv\n4: parquet format(not aurora)"
        },
        "data_source_type": {
          "type": "integer",
          "format": "int64",
          "title": "1: aws s3\n2: GCS\n3: LOCAL\n4. Azure Blob"
        },
        "target_username": {
          "description": "deprecated, use internal user instead",
          "type": "string"
        },
        "target_password": {
          "description": "deprecated, use internal password instead",
          "type": "string"
        },
        "filter": {
          "description": "deprecated, use target_table_infos instead",
          "type": "string"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "csv_format": {
          "$ref": "#/definitions/dataflowCustomCSVFormat"
        },
        "aws_role_arn": {
          "type": "string"
        },
        "object_name_pattern": {
          "description": "deprecated, use target_table_infos instead",
          "type": "string"
        },
        "target_table_pattern": {
          "description": "deprecated, use target_table_infos instead",
          "type": "string"
        },
        "local_import_cfg": {
          "$ref": "#/definitions/dataflowLocalImportCfg"
        },
        "name": {
          "type": "string"
        },
        "dup_handling_for_sql": {
          "$ref": "#/definitions/dataflowDupHandlingForSql"
        },
        "aws_access_key_id": {
          "type": "string"
        },
        "aws_secret_access_key": {
          "type": "string"
        },
        "target_table_infos": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowImportTargetTableInfo"
          }
        },
        "need_drop_tables": {
          "type": "boolean",
          "title": "need_drop_tables is only used in tutorial"
        },
        "azblob_sas_token": {
          "type": "string"
        },
        "conn_method": {
          "type": "string"
        },
        "endpoint_service_name": {
          "type": "string"
        },
        "skip_checksum": {
          "type": "boolean"
        }
      },
      "required": ["cluster_id", "region", "data_format", "data_source_type", "org_id", "project_id"]
    },
    "dataflowImportDataFormat": {
      "type": "string",
      "enum": ["UNKNOWN_FORMAT", "SQL", "AURORA_SNAPSHOT", "CSV", "PARQUET"],
      "title": "- AURORA_SNAPSHOT: the parquet dumped from aurora",
      "default": "UNKNOWN_FORMAT"
    },
    "dataflowImportGetResp": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "total_size": {
          "type": "string",
          "format": "uint64"
        },
        "total_files": {
          "type": "integer",
          "format": "int64"
        },
        "source_url": {
          "type": "string"
        },
        "completed_tables": {
          "type": "integer",
          "format": "int64"
        },
        "pending_tables": {
          "type": "integer",
          "format": "int64"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "$ref": "#/definitions/dataflowImportGetRespStatus"
        },
        "completed_percent": {
          "description": "1~100.  It doesn't include the post-processing progress.",
          "type": "integer",
          "format": "int64"
        },
        "current_tables": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowCurrentTable"
          }
        },
        "data_format": {
          "type": "integer",
          "format": "int64"
        },
        "data_source_type": {
          "type": "integer",
          "format": "int64"
        },
        "message": {
          "type": "string"
        },
        "elapsed_time_seconds": {
          "type": "integer",
          "format": "int64"
        },
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "processed_source_data_size": {
          "type": "string",
          "format": "uint64"
        },
        "total_tables_count": {
          "type": "integer",
          "format": "int64"
        },
        "post_import_completed_percent": {
          "type": "integer",
          "format": "int64",
          "title": "1~100"
        },
        "all_completed_tables": {
          "description": "all completed means whole process (import + post-process) has finised.  It may contain warnings or errors.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowImportTableCompletionInfo"
          }
        },
        "import_create_req": {
          "$ref": "#/definitions/dataflowImportCreateReq"
        },
        "name": {
          "type": "string"
        },
        "created_by": {
          "type": "string"
        }
      },
      "required": [
        "cluster_id",
        "total_size",
        "total_files",
        "source_url",
        "completed_tables",
        "pending_tables",
        "created_at",
        "status",
        "completed_percent",
        "current_tables",
        "data_format",
        "data_source_type",
        "message",
        "elapsed_time_seconds"
      ]
    },
    "dataflowImportGetRespStatus": {
      "type": "string",
      "enum": ["UNKNOWN", "PREPARING", "IMPORTING", "COMPLETED", "FAILED", "CANCELING", "CANCELED"],
      "default": "UNKNOWN"
    },
    "dataflowImportPrecheckResp": {
      "description": "ImportPrecheckResp is the response of Import precheck.",
      "type": "object",
      "properties": {
        "target_tables": {
          "description": "The list of tables which has matched data files.",
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentTableResult"
          }
        },
        "error_message": {
          "description": "The error message consists of the unmatched tables.",
          "type": "string"
        },
        "total_data_files_count": {
          "description": "The total data files count.",
          "type": "string",
          "format": "uint64"
        },
        "total_tables_count": {
          "description": "The total tables count.",
          "type": "string",
          "format": "uint64"
        },
        "is_truncated": {
          "description": "If the result is truncated.",
          "type": "boolean"
        },
        "status": {
          "description": "The status.",
          "$ref": "#/definitions/agentImportPrecheckStatusTypeEnum"
        }
      }
    },
    "dataflowImportTableCompletionInfo": {
      "type": "object",
      "properties": {
        "table_name": {
          "type": "string"
        },
        "result": {
          "$ref": "#/definitions/dataflowImportTableCompletionInfoResult"
        },
        "message": {
          "type": "string"
        }
      },
      "required": ["table_name", "result"]
    },
    "dataflowImportTableCompletionInfoResult": {
      "type": "string",
      "enum": ["UNKNOWN", "SUCCESS", "WARNING", "ERROR"],
      "default": "UNKNOWN"
    },
    "dataflowImportTargetTableInfo": {
      "type": "object",
      "properties": {
        "target_table": {
          "$ref": "#/definitions/commonTable"
        },
        "custom_file": {
          "description": "If the custom_file is empty, will use the default rule to import data.",
          "type": "string"
        },
        "matched_uri": {
          "type": "string"
        }
      }
    },
    "dataflowImportValidationItem": {
      "type": "string",
      "enum": [
        "UNKNOWN",
        "SOURCE_ACCESS_CHECK",
        "TARGET_ACCESS_CHECK",
        "FILTER_AND_RULE_CHECK",
        "IMPORT_PRECHECK",
        "TARGET_TABLE_EMPTY_CHECK",
        "ESTIMATE_SIZE",
        "IMPORT_DATA_ONLY_CHECK"
      ],
      "title": "- TARGET_ACCESS_CHECK: deprecated\n - FILTER_AND_RULE_CHECK: deprecated\n - ESTIMATE_SIZE: deprecated",
      "default": "UNKNOWN"
    },
    "dataflowImportsApplyTableFiltersReq": {
      "type": "object",
      "properties": {
        "tables": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": ["tables", "filters"]
    },
    "dataflowImportsApplyTableFiltersResp": {
      "type": "object",
      "properties": {
        "import_tables": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignore_tables": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": ["import_tables", "ignore_tables"]
    },
    "dataflowImportsGenerateUploadUrlResp": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "title": "expiration is one minute"
        },
        "file_name": {
          "type": "string",
          "title": "pattern: {user_id}/{file_name}"
        }
      }
    },
    "dataflowImportsGetClusterTablesResp": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentSchema"
          }
        }
      }
    },
    "dataflowImportsGetSchemasMetaResp": {
      "type": "object",
      "properties": {
        "schemas_meta": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/agentImportsSchemaMeta"
          },
          "title": "map: <schema id, schema meta>"
        },
        "base_resp": {
          "$ref": "#/definitions/baseBaseResp"
        }
      },
      "required": ["schemas_meta"]
    },
    "dataflowImportsGetTableColumnsResp": {
      "type": "object",
      "properties": {
        "table": {
          "$ref": "#/definitions/agentTable"
        }
      }
    },
    "dataflowImportsListDataTypesResp": {
      "type": "object",
      "properties": {
        "data_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowImportsPreviewCsvFileResp": {
      "type": "object",
      "properties": {
        "table": {
          "$ref": "#/definitions/agentTable"
        },
        "warning_message": {
          "type": "string",
          "title": "not used yet"
        }
      }
    },
    "dataflowImportsPreviewLocalResp": {
      "type": "object",
      "properties": {
        "table": {
          "$ref": "#/definitions/agentTable",
          "title": "local file only contains one table"
        }
      }
    },
    "dataflowImportsPreviewResp": {
      "type": "object",
      "properties": {
        "schemas": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/agentSchema"
          }
        },
        "base_resp": {
          "$ref": "#/definitions/baseBaseResp"
        }
      },
      "required": ["schemas"]
    },
    "dataflowImportsSearchImportFilesResp": {
      "type": "object",
      "properties": {
        "target_tables": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowImportsSearchImportFilesRespTableMatch"
          }
        },
        "warning_message": {
          "type": "string"
        }
      }
    },
    "dataflowImportsSearchImportFilesRespTableMatch": {
      "type": "object",
      "properties": {
        "target_table": {
          "$ref": "#/definitions/commonTable"
        },
        "source_uri": {
          "type": "string"
        },
        "warning_message": {
          "type": "string"
        }
      }
    },
    "dataflowInternalChangefeed": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "display_id": {
          "type": "string",
          "format": "uint64"
        },
        "display_name": {
          "type": "string"
        },
        "downstream_type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "ticdc_cluster": {
          "$ref": "#/definitions/dataflowInternalTiCDCCluster"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "tidb_cluster_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowInternalTiCDCCluster": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "name": {
          "type": "string"
        },
        "tidb_cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "version": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "provider_type": {
          "type": "string"
        },
        "specification_code": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "deploy_type": {
          "type": "string"
        },
        "controlplane_arch": {
          "type": "string",
          "title": "\"cloud-native\" or \"3layer\""
        },
        "operator_version": {
          "type": "string",
          "title": "\"v1\" or \"v2\""
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowKafkaAuthType": {
      "type": "string",
      "enum": ["DISABLE", "SASL_PLAIN", "SASL_SCRAM_SHA_256", "SASL_SCRAM_SHA_512"],
      "default": "DISABLE"
    },
    "dataflowKafkaInfo": {
      "type": "object",
      "properties": {
        "broker": {
          "$ref": "#/definitions/dataflowBroker"
        },
        "authentication": {
          "$ref": "#/definitions/dataflowAuthentication"
        },
        "data_format": {
          "$ref": "#/definitions/dataflowDataFormat"
        },
        "topic_partition_config": {
          "$ref": "#/definitions/dataflowTopicPartitionConfig"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "biz_endpoint_id": {
          "type": "string",
          "format": "uint64"
        },
        "column_selectors": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowColumnSelector"
          }
        }
      }
    },
    "dataflowKafkaType": {
      "type": "string",
      "enum": ["KafkaType_Self_Hosted", "KafkaType_MSK", "KafkaType_Confluent"],
      "default": "KafkaType_Self_Hosted"
    },
    "dataflowKafkaVersion": {
      "type": "string",
      "enum": ["KAFKA_VERSION_0XX", "KAFKA_VERSION_1XX", "KAFKA_VERSION_2XX", "KAFKA_VERSION_3XX"],
      "default": "KAFKA_VERSION_0XX"
    },
    "dataflowListConnectorEnabledFeaturesResp": {
      "type": "object",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowListImportResp": {
      "type": "object",
      "properties": {
        "imports": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowImportGetResp"
          }
        },
        "total": {
          "type": "string",
          "format": "int64"
        }
      },
      "required": ["imports", "total"]
    },
    "dataflowListInternalChangefeedsResponse": {
      "type": "object",
      "properties": {
        "changefeeds": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowInternalChangefeed"
          }
        }
      }
    },
    "dataflowListRecycleBinClustersResp": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "format": "int32"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRecycleBinCluster"
          }
        }
      },
      "required": ["total", "items"]
    },
    "dataflowListRecycleBinClustersV2Resp": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "format": "int32"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRecycleBinCluster"
          }
        }
      },
      "required": ["total", "items"]
    },
    "dataflowListRestoreOfProjectResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowListRestoreRespItem"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "dataflowListRestoreRespItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "create_timestamp": {
          "type": "string",
          "format": "date-time"
        },
        "backup_id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "status": {
          "$ref": "#/definitions/dataflowListRestoreRespItemStatusEnum"
        },
        "cluster": {
          "$ref": "#/definitions/dataflowClusterInfoOfRestore"
        }
      }
    },
    "dataflowListRestoreRespItemStatusEnum": {
      "type": "string",
      "enum": ["RESTORE_STATUS_UNSPECIFIED", "PENDING", "RUNNING", "FAILED", "SUCCESS"],
      "default": "RESTORE_STATUS_UNSPECIFIED"
    },
    "dataflowListServerlessBackupSettingsResp": {
      "type": "object",
      "properties": {
        "settings": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowServerlessBackupSetting"
          }
        }
      }
    },
    "dataflowListServerlessBackupsResp": {
      "type": "object",
      "properties": {
        "backups": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowBasicServerlessBackup"
          }
        }
      }
    },
    "dataflowListServerlessPiTRTimeRangesResp": {
      "type": "object",
      "properties": {
        "time_ranges": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowServerlessPiTRTimeRange"
          }
        }
      },
      "required": ["time_ranges"]
    },
    "dataflowListServerlessRestoresResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowServerlessRestore"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["items", "total"]
    },
    "dataflowListSinkAvailabilityZonesResponse": {
      "type": "object",
      "properties": {
        "availability_zones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowListSinkEndpointsResponse": {
      "type": "object",
      "properties": {
        "sink_endpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowSinkEndpoint"
          }
        }
      }
    },
    "dataflowLocalImportCfg": {
      "type": "object",
      "properties": {
        "file_name": {
          "type": "string"
        },
        "target_table": {
          "$ref": "#/definitions/commonTable"
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowColumnInfo"
          },
          "title": "do not create target table when columns.length is 0"
        },
        "original_file_name": {
          "type": "string"
        },
        "pk_columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "total_size": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "dataflowLogBackup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "backup_schedule_id": {
          "type": "string",
          "format": "uint64"
        },
        "name": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "start_ts": {
          "type": "string",
          "format": "date-time"
        },
        "check_point_ts": {
          "type": "string",
          "format": "date-time"
        },
        "truncate_until": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "$ref": "#/definitions/dataflowLogBackupStatus"
        }
      },
      "required": ["id", "cluster_id", "backup_schedule_id", "name", "created_at", "start_ts", "status"]
    },
    "dataflowLogBackupListResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowLogBackup"
          }
        },
        "total": {
          "type": "integer",
          "format": "int64"
        }
      },
      "required": ["items", "total"]
    },
    "dataflowLogBackupStatus": {
      "type": "string",
      "enum": [
        "UNSPECIFIED",
        "PENDING",
        "RUNNING",
        "STOPPING",
        "STOPPED",
        "PAUSING",
        "PAUSED",
        "RESUMING",
        "FAILED",
        "SCHEDULED"
      ],
      "default": "UNSPECIFIED"
    },
    "dataflowModifyServerlessBackupSettingResp": {
      "type": "object"
    },
    "dataflowMySQLInfo": {
      "type": "object",
      "properties": {
        "connection": {
          "$ref": "#/definitions/dataflowConnection"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "privatelink_info": {
          "$ref": "#/definitions/dataflowPrivatelinkInfo"
        }
      }
    },
    "dataflowNetworkInfo": {
      "type": "object",
      "properties": {
        "network_type": {
          "$ref": "#/definitions/dataflowNetworkType"
        },
        "private_link_service_name": {
          "type": "string",
          "title": "deprecated"
        },
        "kafka_id": {
          "type": "string",
          "title": "deprecated"
        },
        "ports": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int64"
          }
        },
        "advertised_pattern_group": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "deprecated"
        },
        "sink_endpoint_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowNetworkType": {
      "type": "string",
      "enum": [
        "NetworkType_Public",
        "NetworkType_VPC_Peering",
        "NetworkType_Private_Link",
        "NetworkType_Private_Service_Connect",
        "NetworkType_Manually_Private_Service_Connect",
        "NetworkType_Manually_Private_Link"
      ],
      "title": "- NetworkType_Manually_Private_Service_Connect: manually create the private service connect for some customers, like mercari\n - NetworkType_Manually_Private_Link: manually create the private link for some customers, like pionex,",
      "default": "NetworkType_Public"
    },
    "dataflowNodeProfile": {
      "type": "object",
      "properties": {
        "compute": {
          "$ref": "#/definitions/dataflowCompute"
        },
        "storage_gi": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string",
          "title": "uint64 node_profile_id = 3; deprecated"
        }
      },
      "required": ["compute", "storage_gi", "name"]
    },
    "dataflowParamItem": {
      "type": "object",
      "properties": {
        "value": {},
        "comment": {
          "type": "string"
        }
      }
    },
    "dataflowPartitionDispatcher": {
      "type": "string",
      "enum": ["TABLE", "INDEX_VALUE", "TS", "COLUMNS"],
      "default": "TABLE"
    },
    "dataflowPartitionDispatcherConfig": {
      "type": "object",
      "properties": {
        "partition_type": {
          "$ref": "#/definitions/dataflowPartitionDispatcher"
        },
        "matcher": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "index_name": {
          "type": "string"
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "dataflowPiTRRegionTimeRange": {
      "type": "object",
      "properties": {
        "region": {
          "$ref": "#/definitions/dataflowRegionInfo"
        },
        "time_ranges": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowPiTRTimeRange"
          }
        }
      }
    },
    "dataflowPiTRSetting": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        },
        "msg": {
          "type": "string"
        }
      }
    },
    "dataflowPiTRTimeRange": {
      "type": "object",
      "properties": {
        "start_ts": {
          "type": "string",
          "format": "date-time"
        },
        "end_ts": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "dataflowPiTRTimeRangeListResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowPiTRRegionTimeRange"
          }
        },
        "msg": {
          "type": "string"
        }
      },
      "required": ["items", "msg"]
    },
    "dataflowPrivatelinkInfo": {
      "type": "object",
      "properties": {
        "df_privatelink_endpoint_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowProtocol": {
      "type": "string",
      "enum": ["CANAL_JSON", "OPEN_PROTOCOL", "AVRO", "DEBEZIUM", "DEBEZIUM_AVRO"],
      "default": "CANAL_JSON"
    },
    "dataflowPulsarAdvancedSetting": {
      "type": "object",
      "properties": {
        "batching_max_messages": {
          "type": "integer",
          "format": "int64"
        },
        "batching_max_publish_delay": {
          "type": "integer",
          "format": "int64"
        },
        "connection_timeout": {
          "type": "integer",
          "format": "int64"
        },
        "operation_timeout": {
          "type": "integer",
          "format": "int64"
        },
        "send_timeout": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "dataflowPulsarAuthType": {
      "type": "string",
      "enum": ["PULSAR_AUTH_TYPE_BASIC", "PULSAR_AUTH_TYPE_TOKEN"],
      "default": "PULSAR_AUTH_TYPE_BASIC"
    },
    "dataflowPulsarAuthentication": {
      "type": "object",
      "properties": {
        "auth_type": {
          "$ref": "#/definitions/dataflowPulsarAuthType"
        },
        "user_name": {
          "type": "string",
          "title": "PULSAR_AUTH_TYPE_BASIC"
        },
        "password": {
          "type": "string"
        },
        "token": {
          "type": "string",
          "title": "PULSAR_AUTH_TYPE_TOKEN"
        }
      }
    },
    "dataflowPulsarCompressionType": {
      "type": "string",
      "enum": [
        "PULSAR_COMPRESSION_NONE",
        "PULSAR_COMPRESSION_LZ4",
        "PULSAR_COMPRESSION_ZLIB",
        "PULSAR_COMPRESSION_ZSTD"
      ],
      "default": "PULSAR_COMPRESSION_NONE"
    },
    "dataflowPulsarDataFormat": {
      "type": "object",
      "properties": {
        "protocol": {
          "$ref": "#/definitions/dataflowProtocol",
          "title": "only support CANAL_JSON"
        },
        "enable_tidb_extension": {
          "type": "boolean"
        },
        "output_raw_change_event": {
          "type": "boolean"
        }
      }
    },
    "dataflowPulsarDestinationProtocol": {
      "type": "string",
      "enum": ["PULSAR_PROTOCOL_PULSAR", "PULSAR_PROTOCOL_PULSAR_SSL", "PULSAR_PROTOCOL_HTTP", "PULSAR_PROTOCOL_HTTPS"],
      "default": "PULSAR_PROTOCOL_PULSAR"
    },
    "dataflowPulsarInfo": {
      "type": "object",
      "properties": {
        "destination_protocol": {
          "$ref": "#/definitions/dataflowPulsarDestinationProtocol"
        },
        "endpoint": {
          "type": "string"
        },
        "authentication": {
          "$ref": "#/definitions/dataflowPulsarAuthentication"
        },
        "compression_type": {
          "$ref": "#/definitions/dataflowPulsarCompressionType"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "data_format": {
          "$ref": "#/definitions/dataflowPulsarDataFormat"
        },
        "topic_distribution": {
          "$ref": "#/definitions/dataflowPulsarTopicDistribution"
        },
        "partition_dispatchers": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowPartitionDispatcherConfig"
          }
        },
        "advanced_setting": {
          "$ref": "#/definitions/dataflowPulsarAdvancedSetting"
        }
      }
    },
    "dataflowPulsarTopicDistribution": {
      "type": "object",
      "properties": {
        "pulsar_tenant": {
          "type": "string"
        },
        "pulsar_namespace": {
          "type": "string"
        },
        "default_topic": {
          "type": "string"
        },
        "dispatch_type": {
          "$ref": "#/definitions/dataflowDispatchType"
        },
        "topic_prefix": {
          "type": "string"
        },
        "separator": {
          "type": "string"
        },
        "topic_suffix": {
          "type": "string"
        }
      }
    },
    "dataflowQueryServerlessBackupSettingResp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "auto_backup_setting": {
          "$ref": "#/definitions/dataflowServerlessAutoBackupSetting"
        }
      }
    },
    "dataflowRecycleBinCluster": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "region_name": {
          "type": "string"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "delete_time": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": ["id", "name", "provider", "region", "region_name", "delete_time"]
    },
    "dataflowRegionInfo": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        }
      }
    },
    "dataflowRestoreErrorInfo": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      }
    },
    "dataflowRestoreMode": {
      "type": "string",
      "enum": [
        "RESTORE_MODE_UNSPECIFIED",
        "RESTORE_MODE_SNAPSHOT",
        "RESTORE_MODE_PITR",
        "RESTORE_MODE_VOLUME_SNAPSHOT"
      ],
      "default": "RESTORE_MODE_UNSPECIFIED"
    },
    "dataflowRestoreProgressResp": {
      "type": "object",
      "properties": {
        "progress": {
          "type": "number",
          "format": "double"
        },
        "steps": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowRestoreStepProgress"
          }
        },
        "restore_status": {
          "$ref": "#/definitions/dataflowRestoreStatus"
        },
        "restore_error": {
          "$ref": "#/definitions/dataflowRestoreErrorInfo"
        },
        "restore_bytes": {
          "type": "string",
          "format": "uint64"
        }
      },
      "required": ["progress"]
    },
    "dataflowRestoreResp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "base_resp": {
          "$ref": "#/definitions/baseBaseResp"
        }
      },
      "required": ["id", "cluster_id", "org_id"]
    },
    "dataflowRestoreStatus": {
      "type": "string",
      "enum": [
        "RESTORE_STATUS_UNSPECIFIED",
        "RESTORE_STATUS_PENDING",
        "RESTORE_STATUS_RUNNING",
        "RESTORE_STATUS_FAILED",
        "RESTORE_STATUS_SUCCESS",
        "RESTORE_STATUS_TERMINATED"
      ],
      "default": "RESTORE_STATUS_UNSPECIFIED"
    },
    "dataflowRestoreStepProgress": {
      "type": "object",
      "properties": {
        "progress": {
          "type": "number",
          "format": "double"
        },
        "step_name": {
          "type": "string"
        }
      }
    },
    "dataflowS3AuthType": {
      "type": "string",
      "enum": ["S3_AUTH_TYPE_AK_SK", "S3_AUTH_TYPE_ASSUME_ROLE"],
      "default": "S3_AUTH_TYPE_AK_SK"
    },
    "dataflowS3Dataformat": {
      "type": "object",
      "properties": {
        "protocol": {
          "$ref": "#/definitions/dataflowS3Protocol"
        },
        "terminator": {
          "type": "string"
        },
        "date_separator": {
          "type": "string"
        },
        "enable_tidb_extension": {
          "type": "boolean"
        },
        "delimiter": {
          "type": "string"
        },
        "quote": {
          "type": "string"
        },
        "null": {
          "type": "string"
        },
        "include_commit_ts": {
          "type": "boolean"
        },
        "binary_encoding_method": {
          "$ref": "#/definitions/dataflowBinaryEncodingMethod"
        },
        "output_raw_change_event": {
          "type": "boolean"
        },
        "output_field_header": {
          "type": "boolean"
        }
      }
    },
    "dataflowS3Endpoint": {
      "type": "object",
      "properties": {
        "s3Uri": {
          "type": "string"
        },
        "access_key": {
          "type": "string"
        },
        "secret_key": {
          "type": "string"
        },
        "auth_type": {
          "$ref": "#/definitions/dataflowS3AuthType"
        },
        "iam_assumed_role_arn": {
          "type": "string"
        }
      }
    },
    "dataflowS3Info": {
      "type": "object",
      "properties": {
        "endpoint": {
          "$ref": "#/definitions/dataflowS3Endpoint"
        },
        "data_format": {
          "$ref": "#/definitions/dataflowS3Dataformat"
        },
        "table_config": {
          "$ref": "#/definitions/dataflowTableConfig"
        },
        "start_position": {
          "$ref": "#/definitions/dataflowStartPosition"
        },
        "storage_flush_config": {
          "$ref": "#/definitions/dataflowStorageFlushConfig"
        }
      }
    },
    "dataflowS3Protocol": {
      "type": "string",
      "enum": ["S3_PROTOCOL_CSV", "S3_PROTOCOL_CANAL_JSON"],
      "default": "S3_PROTOCOL_CSV"
    },
    "dataflowSchemaRegistry": {
      "type": "object",
      "properties": {
        "schema_registry_endpoints": {
          "type": "string"
        },
        "enableHttpAuth": {
          "type": "boolean"
        },
        "userName": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    },
    "dataflowServerlessAutoBackupSetting": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "backup_time": {
          "type": "string"
        },
        "retention_period": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowServerlessBackupSetting": {
      "type": "object",
      "properties": {
        "backup_cron": {
          "type": "string"
        },
        "retention": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowServerlessPiTRTimeRange": {
      "type": "object",
      "properties": {
        "start_ts": {
          "type": "string",
          "format": "date-time"
        },
        "end_ts": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "dataflowServerlessRestore": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64"
        },
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "org_id": {
          "type": "string",
          "format": "uint64"
        },
        "project_id": {
          "type": "string",
          "format": "uint64"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "restore_mode": {
          "$ref": "#/definitions/dataflowRestoreMode"
        },
        "status": {
          "$ref": "#/definitions/dataflowRestoreStatus"
        },
        "restore_bytes": {
          "type": "string",
          "format": "uint64"
        },
        "progress": {
          "$ref": "#/definitions/dataflowRestoreStepProgress"
        },
        "restored_ts": {
          "type": "string",
          "format": "date-time"
        },
        "finished_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "cluster_id",
        "org_id",
        "project_id",
        "name",
        "description",
        "created_at",
        "restore_mode",
        "status",
        "restore_bytes",
        "progress"
      ]
    },
    "dataflowServerlessTidbInfo": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "mysql_info": {
          "$ref": "#/definitions/dataflowMySQLInfo"
        }
      }
    },
    "dataflowSimpleClusterComponent": {
      "type": "object",
      "properties": {
        "component_type": {
          "$ref": "#/definitions/dataflowComponentType"
        },
        "node_profile_name": {
          "type": "string",
          "title": "uint64 node_profile_id = 2; deprecated"
        },
        "replicas": {
          "type": "integer",
          "format": "int32"
        },
        "storage_size_gi": {
          "type": "integer",
          "format": "int32"
        },
        "storage_type": {
          "$ref": "#/definitions/SimpleClusterComponentStorageType"
        },
        "raft_iops": {
          "description": "Only for tikv.",
          "type": "integer",
          "format": "int32"
        },
        "data_store_iops": {
          "description": "IOPS of the TiKV DATA disk. Only supported for AWS clusters with Plus storage type.",
          "type": "integer",
          "format": "int32"
        }
      },
      "required": ["component_type", "node_profile_name", "replicas", "storage_size_gi"]
    },
    "dataflowSinkAdvertisedListener": {
      "type": "object",
      "properties": {
        "domain_type": {
          "$ref": "#/definitions/SinkAdvertisedListenerDomainType"
        },
        "root_domain_name": {
          "type": "string"
        },
        "records": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/SinkAdvertisedListenerRecord"
          }
        }
      },
      "required": ["domain_type", "root_domain_name"]
    },
    "dataflowSinkEndpoint": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uint64",
          "readOnly": true
        },
        "endpoint_name": {
          "type": "string"
        },
        "endpoint_service_name": {
          "type": "string"
        },
        "provider": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "endpoint_zones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "service_region": {
          "type": "string"
        },
        "status": {
          "$ref": "#/definitions/dataflowSinkEndpointStatus",
          "readOnly": true
        },
        "endpoint_id": {
          "type": "string",
          "readOnly": true
        },
        "advertised_listener": {
          "$ref": "#/definitions/dataflowSinkAdvertisedListener"
        },
        "endpoint_address": {
          "type": "string",
          "readOnly": true
        },
        "cloud_account_id": {
          "type": "string",
          "readOnly": true
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "properties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "used_by": {
          "$ref": "#/definitions/dataflowSinkEndpointUsage",
          "readOnly": true
        },
        "last_used_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "will_delete_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "required": ["endpoint_name", "endpoint_service_name", "provider", "region"]
    },
    "dataflowSinkEndpointStatus": {
      "type": "string",
      "enum": [
        "SINK_ENDPOINT_STATUS_UNSPECIFIED",
        "SINK_ENDPOINT_STATUS_CREATING",
        "SINK_ENDPOINT_STATUS_PENDING_ACCEPTANCE",
        "SINK_ENDPOINT_STATUS_AVAILABLE",
        "SINK_ENDPOINT_STATUS_FAILED"
      ],
      "default": "SINK_ENDPOINT_STATUS_UNSPECIFIED"
    },
    "dataflowSinkEndpointUsage": {
      "type": "object",
      "properties": {
        "changefeed_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uint64"
          }
        }
      }
    },
    "dataflowStartMode": {
      "type": "string",
      "enum": ["FROM_NOW", "FROM_TSO", "FROM_UTC"],
      "default": "FROM_NOW"
    },
    "dataflowStartPosition": {
      "type": "object",
      "properties": {
        "mode": {
          "$ref": "#/definitions/dataflowStartMode"
        },
        "tso": {
          "type": "string",
          "format": "uint64"
        },
        "utc": {
          "type": "string"
        }
      }
    },
    "dataflowStorageFlushConfig": {
      "type": "object",
      "properties": {
        "flush_interval": {
          "type": "string"
        },
        "file_size": {
          "type": "string",
          "format": "uint64"
        }
      }
    },
    "dataflowTableConfig": {
      "type": "object",
      "properties": {
        "filter_rule": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mode": {
          "$ref": "#/definitions/dataflowTableMode"
        },
        "event_filter_rule": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowEventFilterRule"
          }
        },
        "case_sensitive": {
          "type": "boolean"
        }
      }
    },
    "dataflowTableMode": {
      "type": "string",
      "enum": ["IGNORE_NOT_SUPPORT_TABLE", "FORCE_SYNC"],
      "default": "IGNORE_NOT_SUPPORT_TABLE"
    },
    "dataflowTopicPartitionConfig": {
      "type": "object",
      "properties": {
        "dispatch_type": {
          "$ref": "#/definitions/dataflowDispatchType"
        },
        "default_topic": {
          "type": "string"
        },
        "topic_prefix": {
          "type": "string"
        },
        "separator": {
          "type": "string"
        },
        "topic_suffix": {
          "type": "string"
        },
        "replication_factor": {
          "type": "integer",
          "format": "int64"
        },
        "partition_num": {
          "type": "integer",
          "format": "int64"
        },
        "partition_dispatcher": {
          "$ref": "#/definitions/dataflowPartitionDispatcher"
        },
        "partition_dispatchers": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/dataflowPartitionDispatcherConfig"
          }
        }
      }
    },
    "dataflowUpdateTiCDCClusterStorageReq": {
      "type": "object",
      "properties": {
        "cluster_id": {
          "type": "string",
          "format": "uint64"
        },
        "size_gi": {
          "type": "integer",
          "format": "int64"
        },
        "iops": {
          "type": "integer",
          "format": "int64"
        },
        "throughput_mbs": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "dataflowUpdateTiCDCClusterStorageResp": {
      "type": "object"
    },
    "dataflowValidateSinkAdvertisedListenerDomainResponse": {
      "type": "object",
      "properties": {
        "advertised_listener": {
          "$ref": "#/definitions/dataflowSinkAdvertisedListener"
        }
      }
    },
    "dataflowVolumeBackupSetting": {
      "type": "object",
      "properties": {
        "hidden": {
          "type": "boolean",
          "title": "whether user can set ebs"
        },
        "enable": {
          "type": "boolean",
          "title": "whether open ebs feature"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "dataflowWeekDay": {
      "type": "string",
      "enum": ["SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"],
      "default": "SUNDAY"
    },
    "googlerpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    },
    "protobufAny": {
      "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(&foo)) {\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\nExample 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\nExample 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.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\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\": <string>,\n      \"lastName\": <string>\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    }",
      "type": "object",
      "additionalProperties": {},
      "properties": {
        "@type": {
          "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.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.",
          "type": "string"
        }
      }
    },
    "protobufNullValue": {
      "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.",
      "type": "string",
      "enum": ["NULL_VALUE"],
      "default": "NULL_VALUE"
    }
  },
  "securityDefinitions": {
    "bearer": {
      "type": "apiKey",
      "description": "Authentication token, prefixed by Bearer: Bearer <token>",
      "name": "Authorization",
      "in": "header"
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "externalDocs": {
    "description": "DBaaS Dataflow Service",
    "url": "https://github.com/tidbcloud/dataflow-service"
  }
}
