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]
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".
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.
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".
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.
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.
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".
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eMigrationJob\u003c/code\u003e class within the Google Cloud Database Migration v1 API.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMigrationJob\u003c/code\u003e class is used to represent a Database Migration Service migration job, offering various properties such as \u003ccode\u003eSource\u003c/code\u003e, \u003ccode\u003eDestination\u003c/code\u003e, \u003ccode\u003eState\u003c/code\u003e, and \u003ccode\u003eType\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is \u003ccode\u003e2.5.0\u003c/code\u003e, with older versions like \u003ccode\u003e2.4.0\u003c/code\u003e, \u003ccode\u003e2.3.0\u003c/code\u003e, and \u003ccode\u003e1.0.0\u003c/code\u003e also listed for reference.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMigrationJob\u003c/code\u003e implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMigrationJob\u003c/code\u003e can use customer-managed encryption keys (CMEK), with instructions on when and where to use it.\u003c/p\u003e\n"]]],[],null,["# Database Migration v1 API - Class MigrationJob (2.5.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.5.0 (latest)](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJob)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.4.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.3.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.2.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.1.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/2.0.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.2.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.1.0/Google.Cloud.CloudDms.V1.MigrationJob)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/1.0.0/Google.Cloud.CloudDms.V1.MigrationJob) \n\n public sealed class MigrationJob : IMessage\u003cMigrationJob\u003e, IEquatable\u003cMigrationJob\u003e, IDeepCloneable\u003cMigrationJob\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Database Migration v1 API class MigrationJob.\n\nRepresents a Database Migration Service migration job object. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e MigrationJob \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[MigrationJob](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJob), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[MigrationJob](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJob), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[MigrationJob](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJob), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.CloudDms.V1](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.CloudDms.V1.dll\n\nConstructors\n------------\n\n### MigrationJob()\n\n public MigrationJob()\n\n### MigrationJob(MigrationJob)\n\n public MigrationJob(MigrationJob other)\n\nProperties\n----------\n\n### CmekKeyName\n\n public string CmekKeyName { get; set; }\n\nThe CMEK (customer-managed encryption key) fully qualified key name used\nfor the migration job.\nThis field supports all migration jobs types except for:\n\n- Mysql to Mysql (use the cmek field in the cloudsql connection profile instead).\n- PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection profile instead).\n- 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\\]\n\n### ConnectivityCase\n\n public MigrationJob.ConnectivityOneofCase ConnectivityCase { get; }\n\n### ConversionWorkspace\n\n public ConversionWorkspaceInfo ConversionWorkspace { get; set; }\n\nThe conversion workspace used by the migration.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when the migration job resource was created.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.\nExample: \"2014-10-02T15:01:23.045123456Z\".\n\n### Destination\n\n public string Destination { get; set; }\n\nRequired. The resource name (URI) of the destination connection profile.\n\n### DestinationDatabase\n\n public DatabaseType DestinationDatabase { get; set; }\n\nThe database engine type and provider of the destination.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nThe migration job display name.\n\n### DumpFlags\n\n public MigrationJob.Types.DumpFlags DumpFlags { get; set; }\n\nThe initial dump flags.\nThis field and the \"dump_path\" field are mutually exclusive.\n\n### DumpPath\n\n public string DumpPath { get; set; }\n\nThe path to the dump file in Google Cloud Storage,\nin the format: (gs://\\[BUCKET_NAME\\]/\\[OBJECT_NAME\\]).\nThis field and the \"dump_flags\" field are mutually exclusive.\n\n### Duration\n\n public Duration Duration { get; set; }\n\nOutput only. The duration of the migration job (in seconds). A duration in\nseconds with up to nine fractional digits, terminated by 's'. Example:\n\"3.5s\".\n\n### EndTime\n\n public Timestamp EndTime { get; set; }\n\nOutput only. If the migration job is completed, the time when it was\ncompleted.\n\n### Error\n\n public Status Error { get; set; }\n\nOutput only. The error details in case of state FAILED.\n\n### Filter\n\n public string Filter { get; set; }\n\nThis field can be used to select the entities to migrate as part of\nthe migration job. It uses AIP-160 notation to select a subset of the\nentities configured on the associated conversion-workspace. This field\nshould not be set on migration-jobs that are not associated with a\nconversion workspace.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nThe resource labels for migration job to use to annotate any related\nunderlying resources such as Compute Engine VMs. An object containing a\nlist of \"key\": \"value\" pairs.\n\nExample: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`.\n\n### MigrationJobName\n\n public MigrationJobName MigrationJobName { get; set; }\n\n[MigrationJobName](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJobName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.CloudDms.V1/latest/Google.Cloud.CloudDms.V1.MigrationJob#Google_Cloud_CloudDms_V1_MigrationJob_Name) resource name property.\n\n### Name\n\n public string Name { get; set; }\n\nThe name (URI) of this migration job resource, in the form of:\nprojects/{project}/locations/{location}/migrationJobs/{migrationJob}.\n\n### PerformanceConfig\n\n public MigrationJob.Types.PerformanceConfig PerformanceConfig { get; set; }\n\nOptional. Data dump parallelism settings used by the migration.\nCurrently applicable only for MySQL to Cloud SQL for MySQL migrations only.\n\n### Phase\n\n public MigrationJob.Types.Phase Phase { get; set; }\n\nOutput only. The current migration job phase.\n\n### ReverseSshConnectivity\n\n public ReverseSshConnectivity ReverseSshConnectivity { get; set; }\n\nThe details needed to communicate to the source over Reverse SSH\ntunnel connectivity.\n\n### Source\n\n public string Source { get; set; }\n\nRequired. The resource name (URI) of the source connection profile.\n\n### SourceDatabase\n\n public DatabaseType SourceDatabase { get; set; }\n\nThe database engine type and provider of the source.\n\n### State\n\n public MigrationJob.Types.State State { get; set; }\n\nThe current migration job state.\n\n### StaticIpConnectivity\n\n public StaticIpConnectivity StaticIpConnectivity { get; set; }\n\nstatic ip connectivity data (default, no additional details needed).\n\n### Type\n\n public MigrationJob.Types.Type Type { get; set; }\n\nRequired. The migration job type.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The timestamp when the migration job resource was last\nupdated. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.\nExample: \"2014-10-02T15:01:23.045123456Z\".\n\n### VpcPeeringConnectivity\n\n public VpcPeeringConnectivity VpcPeeringConnectivity { get; set; }\n\nThe details of the VPC network that the source database is located in."]]