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 ( |
name
string
The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
createTime
string (
Timestamp
format)
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: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
updateTime
string (
Timestamp
format)
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: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
labels
map (key: string, value: string)
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: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
displayName
string
The migration job display name.
state
enum (
State
)
The current migration job state.
phase
enum (
Phase
)
Output only. The current migration job phase.
type
enum (
Type
)
Required. The migration job type.
dumpPath
string
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
object (
DumpFlags
)
The initial dump flags. This field and the "dump_path" field are mutually exclusive.
source
string
Required. The resource name (URI) of the source connection profile.
destination
string
Required. The resource name (URI) of the destination connection profile.
duration
string (
Duration
format)
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 ' s
'. Example: "3.5s"
.
error
object (
Status
)
Output only. The error details in case of state FAILED.
sourceDatabase
object (
DatabaseType
)
The database engine type and provider of the source.
destinationDatabase
object (
DatabaseType
)
The database engine type and provider of the destination.
endTime
string (
Timestamp
format)
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: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
conversionWorkspace
object (
ConversionWorkspaceInfo
)
The conversion workspace used by the migration.
filter
string
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
string
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
object (
PerformanceConfig
)
Optional. Data dump parallelism settings used by the migration.
postgresHomogeneousConfig
object (
PostgresHomogeneousConfig
)
Optional. Configuration for PostgreSQL homogeneous migration.
sqlserverHomogeneousMigrationJobConfig
object (
SqlServerHomogeneousMigrationJobConfig
)
Optional. Configuration for SQL Server homogeneous migration.
dumpType
enum (
DumpType
)
Optional. The type of the data dump. Supported for MySQL to CloudSQL for MySQL migrations only.
objectsConfig
object (
MigrationJobObjectsConfig
)
Optional. The objects that need to be migrated.
purpose
enum (
Purpose
)
Output only. Migration job mode. Migration jobs can be standard forward jobs or failback migration jobs.
originalMigrationName
string
Optional. A failback replication pointer to the resource name (URI) of the original migration job.
connectivity
. The connectivity method. connectivity
can be only one of the following:reverseSshConnectivity
object (
ReverseSshConnectivity
)
The details needed to communicate to the source over Reverse SSH tunnel connectivity.
vpcPeeringConnectivity
object (
VpcPeeringConnectivity
)
The details of the VPC network that the source database is located in.
staticIpConnectivity
object (
StaticIpConnectivity
)
static ip connectivity data (default, no additional details needed).
config
. Configuration for migration. config
can be only one of the following:oracleToPostgresConfig
object (
OracleToPostgresConfig
)
Configuration for heterogeneous Oracle to Cloud SQL for PostgreSQLand Oracle to AlloyDB for PostgreSQLmigrations.
sqlserverToPostgresConfig
object (
SqlServerToPostgresConfig
)
Configuration for heterogeneous SQL Server to Cloud SQL for PostgreSQLmigrations.
postgresToSqlserverConfig
object (
PostgresToSqlServerConfig
)
Configuration for heterogeneous failback migrations from PostgreSQL to SQL Server.
Union field _satisfies_pzs
.
_satisfies_pzs
can be only one of the following:
satisfiesPzs
boolean
Output only. Reserved for future use.
Union field _satisfies_pzi
.
_satisfies_pzi
can be only one of the following:
satisfiesPzi
boolean
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 |
Union field _max_concurrent_full_dump_connections
.
_max_concurrent_full_dump_connections
can be only one of the following:
maxConcurrentFullDumpConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase.
Union field _max_concurrent_cdc_connections
.
_max_concurrent_cdc_connections
can be only one of the following:
maxConcurrentCdcConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase.
Union field _skip_full_dump
.
_skip_full_dump
can be only one of the following:
skipFullDump
boolean
Optional. Whether to skip full dump or not.
Union field _cdc_start_position
.
_cdc_start_position
can be only one of the following:
cdcStartPosition
string ( int64
format)
Optional. The schema change number (SCN) to start CDC data migration from.
cdc_method
. Configuration to select the CDC method. cdc_method
can be only one of the following:logMiner
object (
LogMiner
)
Use LogMiner.
binaryLogParser
object (
BinaryLogParser
)
Use Binary Log Parser.
BinaryLogParser
| JSON representation |
|---|
{ // 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
object (
OracleAsmLogFileAccess
)
Use Oracle ASM.
logFileDirectories
object (
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 |
Union field _max_concurrent_connections
.
_max_concurrent_connections
can be only one of the following:
maxConcurrentConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the destination for data migration.
Union field _transaction_timeout
.
_transaction_timeout
can be only one of the following:
transactionTimeout
string (
Duration
format)
Optional. Timeout for data migration transactions.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
SqlServerToPostgresConfig
| JSON representation |
|---|
{ "sqlserverSourceConfig" : { object ( |
| Fields | |
|---|---|
sqlserverSourceConfig
|
Optional. Configuration for SQL Server source. |
postgresDestinationConfig
|
Optional. Configuration for Postgres destination. |
SqlServerSourceConfig
| JSON representation |
|---|
{ // Union field |
Union field _max_concurrent_full_dump_connections
.
_max_concurrent_full_dump_connections
can be only one of the following:
maxConcurrentFullDumpConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase.
Union field _max_concurrent_cdc_connections
.
_max_concurrent_cdc_connections
can be only one of the following:
maxConcurrentCdcConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase.
Union field _skip_full_dump
.
_skip_full_dump
can be only one of the following:
skipFullDump
boolean
Optional. Whether to skip full dump or not.
Union field _cdc_start_position
.
_cdc_start_position
can be only one of the following:
cdcStartPosition
string
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 |
Union field _skip_full_dump
.
_skip_full_dump
can be only one of the following:
skipFullDump
boolean
Optional. Whether to skip full dump or not.
SqlServerDestinationConfig
| JSON representation |
|---|
{ // Union field |
Union field _max_concurrent_connections
.
_max_concurrent_connections
can be only one of the following:
maxConcurrentConnections
integer
Optional. Maximum number of connections Database Migration Service will open to the destination for data migration.
Union field _transaction_timeout
.
_transaction_timeout
can be only one of the following:
transactionTimeout
string (
Duration
format)
Optional. Timeout for data migration transactions.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
MigrationJobObjectsConfig
| JSON representation |
|---|
{ // 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
object (
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: ❌

