{
  "swagger": "2.0",
  "info": {
    "title": "TiDB Cloud Premium Open API",
    "description": "TiDB Cloud Premium Open API",
    "version": "v1beta2"
  },
  "tags": [
    {
      "name": "PremiumMigrationService"
    }
  ],
  "host": "cloud.tidbapi.com",
  "schemes": ["https"],
  "consumes": ["application/json"],
  "produces": ["application/json"],
  "paths": {
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrationPrechecks": {
      "post": {
        "summary": "Run a precheck for a PremiumMigration",
        "operationId": "CreatePremiumMigrationPrecheck",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2CreatePremiumMigrationPrecheckResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceCreatePremiumMigrationPrecheckBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrationPrechecks/{precheck_id}": {
      "get": {
        "summary": "Get a PremiumMigration precheck",
        "operationId": "PremiumMigrationGetPrecheck",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2PremiumMigrationPrecheck"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "precheck_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      },
      "delete": {
        "summary": "Cancel a PremiumMigration precheck",
        "operationId": "PremiumMigrationCancelPrecheck",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "precheck_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations": {
      "get": {
        "summary": "List PremiumMigrations",
        "operationId": "ListPremiumMigrations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2ListPremiumMigrationsResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "page_token",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      },
      "post": {
        "summary": "Create a PremiumMigration",
        "operationId": "CreatePremiumMigration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2PremiumMigration"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceCreatePremiumMigrationBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations/supportedSources": {
      "get": {
        "operationId": "GetPremiumDMSupportedSources",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2PremiumMigrationGetSupportedSourcesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations/{migration_id}": {
      "get": {
        "summary": "Get a PremiumMigration",
        "operationId": "GetPremiumMigration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2PremiumMigration"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "migration_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      },
      "delete": {
        "summary": "Delete a PremiumMigration",
        "operationId": "DeletePremiumMigration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2PremiumMigration"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "migration_id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations/{migration_id}:pause": {
      "post": {
        "summary": "Pause a running PremiumMigration",
        "operationId": "PausePremiumMigration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "migration_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServicePausePremiumMigrationBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations/{migration_id}:resume": {
      "post": {
        "summary": "Resume a paused PremiumMigration",
        "operationId": "ResumePremiumMigration",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "migration_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceResumePremiumMigrationBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations:getSourceTables": {
      "post": {
        "operationId": "GetPremiumMigrationSourceTables",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta2GetSourceTablesResp"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceGetPremiumMigrationSourceTablesBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations:validateSourceConnection": {
      "post": {
        "operationId": "ValidatePremiumMigrationSourceConn",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceValidatePremiumMigrationSourceConnBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    },
    "/api/v2025/cloud/v1beta2/tidbs/{tidb_id}/premiumMigrations:validateTargetConnection": {
      "post": {
        "operationId": "ValidatePremiumMigrationMigrationTargetConn",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "tidb_id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PremiumMigrationServiceValidatePremiumMigrationMigrationTargetConnBody"
            }
          }
        ],
        "tags": ["PremiumMigrationService"]
      }
    }
  },
  "definitions": {
    "PremiumDMSubTaskStage": {
      "type": "string",
      "enum": ["STAGE_UNSPECIFIED", "RUNNING", "PAUSED", "FAILED", "FINISHED", "UNKNOWN"],
      "default": "STAGE_UNSPECIFIED"
    },
    "PremiumDMSubTaskStep": {
      "type": "string",
      "enum": ["STEP_UNSPECIFIED", "DUMP", "LOAD", "SYNC"],
      "default": "STEP_UNSPECIFIED"
    },
    "PremiumDMTaskImportModeENUM": {
      "type": "string",
      "enum": ["IMPORTMODE_UNSPECIFIED", "IMPORTMODE_PHYSICAL", "IMPORTMODE_LOGICAL"],
      "default": "IMPORTMODE_UNSPECIFIED"
    },
    "PremiumMigrationRuleSource": {
      "type": "object",
      "properties": {
        "schema_pattern": {
          "type": "string"
        },
        "table_pattern": {
          "type": "string"
        }
      },
      "required": ["schema_pattern"]
    },
    "PremiumMigrationServiceCreatePremiumMigrationBody": {
      "type": "object",
      "properties": {
        "display_name": {
          "type": "string"
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumDMSource"
          }
        },
        "target": {
          "$ref": "#/definitions/v1beta2PremiumDMTarget"
        },
        "mode": {
          "$ref": "#/definitions/v1beta2PremiumDMTaskMode"
        },
        "import_mode": {
          "$ref": "#/definitions/PremiumDMTaskImportModeENUM"
        }
      },
      "required": ["display_name", "sources", "target", "mode", "import_mode"]
    },
    "PremiumMigrationServiceCreatePremiumMigrationPrecheckBody": {
      "type": "object",
      "properties": {
        "display_name": {
          "type": "string"
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumDMSource"
          }
        },
        "target": {
          "$ref": "#/definitions/v1beta2PremiumDMTarget"
        },
        "mode": {
          "$ref": "#/definitions/v1beta2PremiumDMTaskMode"
        },
        "import_mode": {
          "$ref": "#/definitions/PremiumDMTaskImportModeENUM"
        }
      },
      "required": ["display_name", "sources", "target", "mode", "import_mode"]
    },
    "PremiumMigrationServiceGetPremiumMigrationSourceTablesBody": {
      "type": "object",
      "properties": {
        "conn_profile": {
          "$ref": "#/definitions/v1beta2PremiumDMConnProfile"
        }
      }
    },
    "PremiumMigrationServicePausePremiumMigrationBody": {
      "type": "object"
    },
    "PremiumMigrationServiceResumePremiumMigrationBody": {
      "type": "object"
    },
    "PremiumMigrationServiceValidatePremiumMigrationMigrationTargetConnBody": {
      "type": "object",
      "properties": {
        "user": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      }
    },
    "PremiumMigrationServiceValidatePremiumMigrationSourceConnBody": {
      "type": "object",
      "properties": {
        "conn_profile": {
          "$ref": "#/definitions/v1beta2PremiumDMConnProfile"
        }
      }
    },
    "PremiumMigrationState": {
      "type": "string",
      "enum": ["STATE_UNSPECIFIED", "CREATING", "RUNNING", "PAUSED", "FAILED", "DELETING"],
      "default": "STATE_UNSPECIFIED"
    },
    "consoleapiPrivatelinkInfo": {
      "type": "object",
      "properties": {
        "df_privatelink_endpoint_id": {
          "type": "string",
          "format": "uint64"
        },
        "endpoint_name": {
          "type": "string",
          "readOnly": true
        },
        "endpoint_address": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "googlerpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "additionalProperties": {},
      "properties": {
        "@type": {
          "type": "string"
        }
      }
    },
    "v1beta2CreatePremiumMigrationPrecheckResp": {
      "type": "object",
      "properties": {
        "precheck_id": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "v1beta2DumpDetail": {
      "type": "object",
      "properties": {
        "bps": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "progress": {
          "type": "number",
          "format": "double",
          "readOnly": true
        },
        "total_tables": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "completed_tables": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "finished_bytes": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "finished_rows": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "v1beta2GetSourceTablesResp": {
      "type": "object",
      "properties": {
        "tables": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2GetSourceTablesRespTable"
          }
        }
      }
    },
    "v1beta2GetSourceTablesRespTable": {
      "type": "object",
      "properties": {
        "schema": {
          "type": "string"
        },
        "table": {
          "type": "string"
        }
      }
    },
    "v1beta2ListPremiumMigrationPrechecksResp": {
      "type": "object",
      "properties": {
        "prechecks": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumMigrationPrecheckSummary"
          },
          "readOnly": true
        },
        "total_size": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "next_page_token": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "v1beta2ListPremiumMigrationsResp": {
      "type": "object",
      "properties": {
        "PremiumMigrations": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumMigration"
          },
          "readOnly": true
        },
        "total_size": {
          "type": "integer",
          "format": "int64",
          "readOnly": true
        },
        "next_page_token": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "v1beta2LoadDetail": {
      "type": "object",
      "properties": {
        "bps": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "progress": {
          "type": "number",
          "format": "double",
          "readOnly": true
        },
        "finished_bytes": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "total_bytes": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        }
      }
    },
    "v1beta2PrecheckItemType": {
      "type": "string",
      "enum": [
        "PRECHECK_ITEM_TYPE_UNSPECIFIED",
        "DUMP_PRIVILEGE_CHECKING",
        "REPLICATION_PRIVILEGE_CHECKING",
        "VERSION_CHECKING",
        "SERVER_ID_CHECKING",
        "BINLOG_ENABLE_CHECKING",
        "BINLOG_FORMAT_CHECKING",
        "BINLOG_ROW_IMAGE_CHECKING",
        "TABLE_SCHEMA_CHECKING",
        "BINLOG_DB_CHECKING",
        "CONN_NUMBER_CHECKING",
        "TARGET_DB_PRIVILEGE_CHECKING",
        "META_POSITION_CHECKING",
        "LIGHTNING_TABLE_EMPTY_CHECKING",
        "PRIMARY_KEY_CHECKING"
      ],
      "default": "PRECHECK_ITEM_TYPE_UNSPECIFIED"
    },
    "v1beta2PremiumDMConnProfile": {
      "type": "object",
      "properties": {
        "conn_type": {
          "$ref": "#/definitions/v1beta2PremiumDMConnType"
        },
        "sink_endpoint_id": {
          "description": "It's the id of SinkEndpoint created by consoleapi/dataflow.proto:SinkEndpointService.",
          "type": "string",
          "format": "uint64"
        },
        "host": {
          "type": "string"
        },
        "port": {
          "type": "integer",
          "format": "int32"
        },
        "user": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "security": {
          "$ref": "#/definitions/v1beta2Security"
        },
        "privatelink_info": {
          "$ref": "#/definitions/consoleapiPrivatelinkInfo",
          "readOnly": true
        }
      },
      "required": ["conn_type", "port", "user", "password"]
    },
    "v1beta2PremiumDMConnType": {
      "type": "string",
      "enum": ["CONN_TYPE_UNSPECIFIED", "PUBLIC", "PRIVATELINK"],
      "default": "CONN_TYPE_UNSPECIFIED"
    },
    "v1beta2PremiumDMPrecheckItem": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "readOnly": true
        },
        "status": {
          "$ref": "#/definitions/v1beta2PremiumDMPrecheckItemStatus",
          "readOnly": true
        },
        "solution": {
          "type": "string",
          "readOnly": true
        },
        "reason": {
          "type": "string",
          "readOnly": true
        },
        "solution_doc_url": {
          "type": "string",
          "readOnly": true
        },
        "type": {
          "$ref": "#/definitions/v1beta2PrecheckItemType",
          "readOnly": true
        }
      }
    },
    "v1beta2PremiumDMPrecheckItemStatus": {
      "type": "string",
      "enum": ["STATUS_UNSPECIFIED", "SUCCESS", "WARNING", "FAILED"],
      "default": "STATUS_UNSPECIFIED"
    },
    "v1beta2PremiumDMSource": {
      "type": "object",
      "properties": {
        "conn_profile": {
          "$ref": "#/definitions/v1beta2PremiumDMConnProfile"
        },
        "premium_migration_rules": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumMigrationRule"
          }
        },
        "binlog_name": {
          "type": "string"
        },
        "binlog_position": {
          "type": "integer",
          "format": "int32"
        },
        "binlog_gtid": {
          "type": "string"
        },
        "source_type": {
          "$ref": "#/definitions/v1beta2PremiumDMSourceType"
        }
      },
      "required": ["conn_profile", "source_type"]
    },
    "v1beta2PremiumDMSourceType": {
      "type": "string",
      "enum": ["SOURCE_TYPE_UNSPECIFIED", "MYSQL", "AZURE_FLEXIBLE_MYSQL"],
      "default": "SOURCE_TYPE_UNSPECIFIED"
    },
    "v1beta2PremiumDMSubTask": {
      "type": "object",
      "properties": {
        "source": {
          "$ref": "#/definitions/v1beta2PremiumDMSource",
          "readOnly": true
        },
        "current_step": {
          "$ref": "#/definitions/PremiumDMSubTaskStep",
          "readOnly": true
        },
        "stage": {
          "$ref": "#/definitions/PremiumDMSubTaskStage",
          "readOnly": true
        },
        "dump_detail": {
          "$ref": "#/definitions/v1beta2DumpDetail",
          "readOnly": true
        },
        "load_detail": {
          "$ref": "#/definitions/v1beta2LoadDetail",
          "readOnly": true
        },
        "sync_detail": {
          "$ref": "#/definitions/v1beta2SyncDetail",
          "readOnly": true
        },
        "error_msg": {
          "type": "string",
          "readOnly": true
        }
      }
    },
    "v1beta2PremiumDMTarget": {
      "type": "object",
      "properties": {
        "user": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "required": ["user", "password"]
    },
    "v1beta2PremiumDMTaskMode": {
      "type": "string",
      "enum": ["MODE_UNSPECIFIED", "ALL", "INCREMENTAL"],
      "default": "MODE_UNSPECIFIED"
    },
    "v1beta2PremiumMigration": {
      "type": "object",
      "properties": {
        "migration_id": {
          "type": "string",
          "readOnly": true
        },
        "display_name": {
          "type": "string",
          "readOnly": true
        },
        "sub_tasks": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumDMSubTask"
          },
          "readOnly": true
        },
        "target_user": {
          "type": "string",
          "readOnly": true
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "mode": {
          "$ref": "#/definitions/v1beta2PremiumDMTaskMode",
          "readOnly": true
        },
        "state": {
          "$ref": "#/definitions/PremiumMigrationState",
          "readOnly": true
        },
        "import_mode": {
          "$ref": "#/definitions/PremiumDMTaskImportModeENUM",
          "readOnly": true
        }
      }
    },
    "v1beta2PremiumMigrationGetSupportedSourcesResp": {
      "type": "object",
      "properties": {
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumSupportedSource"
          }
        }
      }
    },
    "v1beta2PremiumMigrationPrecheck": {
      "type": "object",
      "properties": {
        "precheck_id": {
          "type": "string",
          "readOnly": true
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "failed_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "warn_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "success_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "status": {
          "$ref": "#/definitions/v1beta2PremiumMigrationPrecheckStatus",
          "readOnly": true
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta2PremiumDMPrecheckItem"
          },
          "readOnly": true
        }
      }
    },
    "v1beta2PremiumMigrationPrecheckStatus": {
      "type": "string",
      "enum": ["STATUS_UNSPECIFIED", "RUNNING", "FINISHED", "PENDING", "FAILED", "CANCELED"],
      "default": "STATUS_UNSPECIFIED"
    },
    "v1beta2PremiumMigrationPrecheckSummary": {
      "description": "PremiumMigrationPrecheckSummary is a per-record summary used for listing only.\nFetch the per-item detail via PremiumMigrationGetPrecheck.",
      "type": "object",
      "properties": {
        "precheck_id": {
          "type": "string",
          "readOnly": true
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "status": {
          "$ref": "#/definitions/v1beta2PremiumMigrationPrecheckStatus",
          "readOnly": true
        },
        "total": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "failed_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "warn_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "success_cnt": {
          "type": "integer",
          "format": "int32",
          "readOnly": true
        }
      }
    },
    "v1beta2PremiumMigrationRule": {
      "type": "object",
      "properties": {
        "source_table": {
          "$ref": "#/definitions/PremiumMigrationRuleSource"
        },
        "target_table": {
          "$ref": "#/definitions/v1beta2PremiumMigrationRuleTable"
        }
      }
    },
    "v1beta2PremiumMigrationRuleTable": {
      "type": "object",
      "properties": {
        "schema": {
          "type": "string"
        },
        "table": {
          "type": "string"
        }
      },
      "required": ["schema"]
    },
    "v1beta2PremiumSupportedSource": {
      "type": "object",
      "properties": {
        "source_type": {
          "$ref": "#/definitions/v1beta2PremiumDMSourceType"
        },
        "conn_methods": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta2PremiumDMConnType"
          }
        },
        "display_name": {
          "type": "string"
        }
      }
    },
    "v1beta2Security": {
      "type": "object",
      "properties": {
        "cert_allowed_cn": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ssl_ca_content": {
          "type": "string",
          "format": "byte"
        },
        "ssl_cert_content": {
          "type": "string",
          "format": "byte"
        },
        "ssl_key_content": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "v1beta2SyncDetail": {
      "type": "object",
      "properties": {
        "rps": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "latency": {
          "type": "string",
          "format": "int64",
          "readOnly": true
        },
        "checkpoint": {
          "type": "string",
          "readOnly": true
        }
      }
    }
  }
}
