Tool: get_migration_job
Get details of the migration job specified by the provided resource name parameter.
- The resource
nameparameter is in the form:projects/{project name}/locations/{location}/migrationJobs/{migration job name}, for example:projects/my-project/locations/us-central1/migrationJobs/my-migration-job.
The following sample demonstrate how to use curl to invoke the get_migration_job MCP tool.
| Curl Request |
|---|
curl --location 'https://datamigration.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_migration_job", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for 'GetMigrationJob' request.
GetMigrationJobRequest
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. Name of the migration job resource to get. |
Output Schema
Represents a Database Migration Service migration job object.
MigrationJob
| JSON representation |
|---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "displayName": string, "state": enum ( |
| Fields | |
|---|---|
name |
The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. |
createTime |
Output only. The timestamp when the migration job resource was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The timestamp when the migration job resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
labels |
The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: An object containing a list of |
displayName |
The migration job display name. |
state |
The current migration job state. |
phase |
Output only. The current migration job phase. |
type |
Required. The migration job type. |
dumpPath |
The path to the dump file in Google Cloud Storage, in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]). This field and the "dump_flags" field are mutually exclusive. |
dumpFlags |
The initial dump flags. This field and the "dump_path" field are mutually exclusive. |
source |
Required. The resource name (URI) of the source connection profile. |
destination |
Required. The resource name (URI) of the destination connection profile. |
duration |
Output only. The duration of the migration job (in seconds). A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". A duration in seconds with up to nine fractional digits, ending with ' |
error |
Output only. The error details in case of state FAILED. |
sourceDatabase |
The database engine type and provider of the source. |
destinationDatabase |
The database engine type and provider of the destination. |
endTime |
Output only. If the migration job is completed, the time when it was completed. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
conversionWorkspace |
The conversion workspace used by the migration. |
filter |
This field can be used to select the entities to migrate as part of the migration job. It uses AIP-160 notation to select a subset of the entities configured on the associated conversion-workspace. This field should not be set on migration-jobs that are not associated with a conversion workspace. |
cmekKeyName |
The CMEK (customer-managed encryption key) fully qualified key name used for the migration job. This field supports all migration jobs types except for: * Mysql to Mysql (use the cmek field in the cloudsql connection profile instead). * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb connection profile instead). Each Cloud CMEK key has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME] |
performanceConfig |
Optional. Data dump parallelism settings used by the migration. |
postgresHomogeneousConfig |
Optional. Configuration for PostgreSQL homogeneous migration. |
sqlserverHomogeneousMigrationJobConfig |
Optional. Configuration for SQL Server homogeneous migration. |
dumpType |
Optional. The type of the data dump. Supported for MySQL to CloudSQL for MySQL migrations only. |
objectsConfig |
Optional. The objects that need to be migrated. |
purpose |
Output only. Migration job mode. Migration jobs can be standard forward jobs or failback migration jobs. |
originalMigrationName |
Optional. A failback replication pointer to the resource name (URI) of the original migration job. |
Union field connectivity. The connectivity method. connectivity can be only one of the following: |
|
reverseSshConnectivity |
The details needed to communicate to the source over Reverse SSH tunnel connectivity. |
vpcPeeringConnectivity |
The details of the VPC network that the source database is located in. |
staticIpConnectivity |
static ip connectivity data (default, no additional details needed). |
Union field config. Configuration for migration. config can be only one of the following: |
|
oracleToPostgresConfig |
Configuration for heterogeneous Oracle to Cloud SQL for PostgreSQL and Oracle to AlloyDB for PostgreSQL migrations. |
sqlserverToPostgresConfig |
Configuration for heterogeneous SQL Server to Cloud SQL for PostgreSQL migrations. |
postgresToSqlserverConfig |
Configuration for heterogeneous failback migrations from PostgreSQL to SQL Server. |
Union field
|
|
satisfiesPzs |
Output only. Reserved for future use. |
Union field
|
|
satisfiesPzi |
Output only. Reserved for future use. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
DumpFlags
| JSON representation |
|---|
{
"dumpFlags": [
{
object ( |
| Fields | |
|---|---|
dumpFlags[] |
The flags for the initial dump. |
DumpFlag
| JSON representation |
|---|
{ "name": string, "value": string } |
| Fields | |
|---|---|
name |
The name of the flag |
value |
The value of the flag. |
ReverseSshConnectivity
| JSON representation |
|---|
{ "vmIp": string, "vmPort": integer, "vm": string, "vpc": string } |
| Fields | |
|---|---|
vmIp |
Required. The IP of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel. |
vmPort |
Required. The forwarding port of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel. |
vm |
The name of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel. |
vpc |
The name of the VPC to peer with the Cloud SQL private network. |
VpcPeeringConnectivity
| JSON representation |
|---|
{ "vpc": string } |
| Fields | |
|---|---|
vpc |
The name of the VPC network to peer with the Cloud SQL private network. |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
Status
| JSON representation |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Fields | |
|---|---|
code |
The status code, which should be an enum value of |
message |
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[] |
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl": string, "value": string } |
| Fields | |
|---|---|
typeUrl |
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value |
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
DatabaseType
| JSON representation |
|---|
{ "provider": enum ( |
| Fields | |
|---|---|
provider |
The database provider. |
engine |
The database engine. |
ConversionWorkspaceInfo
| JSON representation |
|---|
{ "name": string, "commitId": string } |
| Fields | |
|---|---|
name |
The resource name (URI) of the conversion workspace. |
commitId |
The commit ID of the conversion workspace. |
PerformanceConfig
| JSON representation |
|---|
{
"dumpParallelLevel": enum ( |
| Fields | |
|---|---|
dumpParallelLevel |
Initial dump parallelism level. |
PostgresHomogeneousConfig
| JSON representation |
|---|
{ "isNativeLogical": boolean, "maxAdditionalSubscriptions": integer } |
| Fields | |
|---|---|
isNativeLogical |
Required. Whether the migration is native logical. |
maxAdditionalSubscriptions |
Optional. Maximum number of additional subscriptions to use for the migration job. |
SqlServerHomogeneousMigrationJobConfig
| JSON representation |
|---|
{ "backupFilePattern": string, "databaseBackups": [ { object ( |
| Fields | |
|---|---|
backupFilePattern |
Required. Pattern that describes the default backup naming strategy. The specified pattern should ensure lexicographical order of backups. The pattern must define one of the following capture group sets: Capture group set #1 yy/yyyy - year, 2 or 4 digits mm - month number, 1-12 dd - day of month, 1-31 hh - hour of day, 00-23 mi - minutes, 00-59 ss - seconds, 00-59 Example: For backup file TestDB_20230802_155400.trn, use pattern: (? |
databaseBackups[] |
Required. Backup details per database in Cloud Storage. |
useDiffBackup |
Optional. Enable differential backups. |
promoteWhenReady |
Optional. Promote databases when ready. |
dagConfig |
Optional. Configuration for distributed availability group (DAG) for the SQL Server homogeneous migration. |
SqlServerDatabaseBackup
| JSON representation |
|---|
{
"database": string,
"encryptionOptions": {
object ( |
| Fields | |
|---|---|
database |
Required. Name of a SQL Server database for which to define backup configuration. |
encryptionOptions |
Optional. Encryption settings for the database. Required if provided database backups are encrypted. Encryption settings include path to certificate, path to certificate private key, and key password. |
SqlServerEncryptionOptions
| JSON representation |
|---|
{ "certPath": string, "pvkPath": string, "pvkPassword": string } |
| Fields | |
|---|---|
certPath |
Required. Path to the Certificate (.cer) in Cloud Storage, in the form |
pvkPath |
Required. Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form |
pvkPassword |
Required. Input only. Password that encrypts the private key. |
BoolValue
| JSON representation |
|---|
{ "value": boolean } |
| Fields | |
|---|---|
value |
The bool value. |
SqlServerDagConfig
| JSON representation |
|---|
{ "sourceAg": string, "linkedServer": string } |
| Fields | |
|---|---|
sourceAg |
Required. The name of the source availability group. Only used by DAG migrations. |
linkedServer |
Required. The name of the linked server that points to the source SQL Server instance. Only used by DAG migrations. |
OracleToPostgresConfig
| JSON representation |
|---|
{ "oracleSourceConfig": { object ( |
| Fields | |
|---|---|
oracleSourceConfig |
Optional. Configuration for Oracle source. |
postgresDestinationConfig |
Optional. Configuration for Postgres destination. |
OracleSourceConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
maxConcurrentFullDumpConnections |
Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase. |
Union field
|
|
maxConcurrentCdcConnections |
Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase. |
Union field
|
|
skipFullDump |
Optional. Whether to skip full dump or not. |
Union field
|
|
cdcStartPosition |
Optional. The schema change number (SCN) to start CDC data migration from. |
Union field cdc_method. Configuration to select the CDC method. cdc_method can be only one of the following: |
|
logMiner |
Use LogMiner. |
binaryLogParser |
Use Binary Log Parser. |
BinaryLogParser
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field log_file_access. Configuration to specify how the log file should be accessed. log_file_access can be only one of the following: |
|
oracleAsmLogFileAccess |
Use Oracle ASM. |
logFileDirectories |
Use Oracle directories. |
LogFileDirectories
| JSON representation |
|---|
{ "onlineLogDirectory": string, "archivedLogDirectory": string } |
| Fields | |
|---|---|
onlineLogDirectory |
Required. Oracle directory for online logs. |
archivedLogDirectory |
Required. Oracle directory for archived logs. |
PostgresDestinationConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
maxConcurrentConnections |
Optional. Maximum number of connections Database Migration Service will open to the destination for data migration. |
Union field
|
|
transactionTimeout |
Optional. Timeout for data migration transactions. A duration in seconds with up to nine fractional digits, ending with ' |
SqlServerToPostgresConfig
| JSON representation |
|---|
{ "sqlserverSourceConfig": { object ( |
| Fields | |
|---|---|
sqlserverSourceConfig |
Optional. Configuration for SQL Server source. |
postgresDestinationConfig |
Optional. Configuration for Postgres destination. |
SqlServerSourceConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
maxConcurrentFullDumpConnections |
Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase. |
Union field
|
|
maxConcurrentCdcConnections |
Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase. |
Union field
|
|
skipFullDump |
Optional. Whether to skip full dump or not. |
Union field
|
|
cdcStartPosition |
Optional. The log sequence number (LSN) to start CDC data migration from. |
PostgresToSqlServerConfig
| JSON representation |
|---|
{ "postgresSourceConfig": { object ( |
| Fields | |
|---|---|
postgresSourceConfig |
Optional. Configuration for PostgreSQL source. |
sqlserverDestinationConfig |
Optional. Configuration for SQL Server destination. |
PostgresSourceConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
skipFullDump |
Optional. Whether to skip full dump or not. |
SqlServerDestinationConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
maxConcurrentConnections |
Optional. Maximum number of connections Database Migration Service will open to the destination for data migration. |
Union field
|
|
transactionTimeout |
Optional. Timeout for data migration transactions. A duration in seconds with up to nine fractional digits, ending with ' |
MigrationJobObjectsConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field migration_job_object_config. The config for the objects to be migrated. migration_job_object_config can be only one of the following: |
|
sourceObjectsConfig |
The list of the migration job objects. |
SourceObjectsConfig
| JSON representation |
|---|
{ "objectConfigs": [ { object ( |
| Fields | |
|---|---|
objectConfigs[] |
Optional. The list of the objects to be migrated. |
objectsSelectionType |
Optional. The objects selection type of the migration job. |
SourceObjectConfig
| JSON representation |
|---|
{
"objectIdentifier": {
object ( |
| Fields | |
|---|---|
objectIdentifier |
Optional. The object identifier. |
SourceObjectIdentifier
| JSON representation |
|---|
{
"database": string,
"schema": string,
"table": string,
"type": enum ( |
| Fields | |
|---|---|
database |
Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. |
schema |
Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier. |
table |
Optional. The table name. This will be required only if the object is a level below database or schema. |
type |
Required. The type of the migration job object. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌