gcloud database-migration migration-jobs create

NAME
gcloud database-migration migration-jobs create - create a Database Migration Service migration job
SYNOPSIS
gcloud database-migration migration-jobs create (MIGRATION_JOB : --region=REGION) --destination=DESTINATION --source=SOURCE --type=TYPE [--no-async] [--commit-id=COMMIT_ID] [--conversion-workspace=CONVERSION_WORKSPACE] [--display-name=DISPLAY_NAME] [--dump-parallel-level=DUMP_PARALLEL_LEVEL] [--dump-path=DUMP_PATH] [--dump-type=DUMP_TYPE] [--filter=FILTER] [--labels=[KEY=VALUE,…]] [--cmek-key=CMEK_KEY : --cmek-keyring=CMEK_KEYRING --cmek-project=CMEK_PROJECT] [--peer-vpc=PEER_VPC     | --static-ip     | [--vm-ip=VM_IP --vm-port=VM_PORT --vpc=VPC : --vm=VM]] [--sqlserver-databases=databaseName,[…] : --sqlserver-backup-file-pattern=SQLSERVER_BACKUP_FILE_PATTERN; default=".(\\.|)(<epoch>\\d)\\.(trn|bak|trn\\.final)" --sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES] [GCLOUD_WIDE_FLAG]
DESCRIPTION
Create a Database Migration Service migration job. Recommended steps before creating the migration job:
  • Create a source connection profile. See prerequisites here.
  • Create a destination connection profile. For migrating to Cloud SQL for MySQL or Cloud SQL for PostgreSQL, use the cloudsql connection profile for DMS to create the CloudSQL replica for you.
  • Configure the connectivity method. See prerequisites here.
  • [Heterogeneous migrations only] Create a conversion workspace.
EXAMPLES
To create a continuous migration job with IP allowlist connectivity:
gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=CONTINUOUS --source=cp1 --destination=cp2

To create a continuous migration job with VPC peering connectivity:

gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=CONTINUOUS --source=cp1 --destination=cp2 --peer-vpc=projects/my-project/global/networks/my-network

To create a one-time migration job with reverse-SSH tunnel connectivity:

gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=ONE_TIME --source=cp1 --destination=cp2 --vm=vm1 --vm-ip=1.1.1.1 --vm-port=1111 --vpc=projects/my-project/global/networks/my-network

To create a heterogeneous continuous migration job:

gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=CONTINUOUS --source=cp1 --destination=cp2 --conversion-workspace=cw

To create a continuous SQL Server to SQL Server homogeneous migration job:

gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=CONTINUOUS --source=cp1 --destination=cp2 --sqlserver-backup-file-pattern=pattern --sqlserver-databases=db1,db2,db3

To create a continuous SQL Server to SQL Server homogeneous migration job with encrypted databases:

gcloud database-migration migration-jobs create my-migration-job --region=us-central1 --type=CONTINUOUS --source=cp1 --destination=cp2 --sqlserver-backup-file-pattern=pattern --sqlserver-databases=db1,db2,db3 --sqlserver-encrypted-databases=PATH/TO/ENCRYPTION/SETTINGS
POSITIONAL ARGUMENTS
Migration job resource - The migration job to create. The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument migration_job on the command line with a fully specified name;
  • provide the argument --project on the command line;
  • set the property core/project.

This must be specified.

MIGRATION_JOB
ID of the migration_job or fully qualified identifier for the migration_job.

To set the migration_job attribute:

  • provide the argument migration_job on the command line.

This positional argument must be specified if any of the other arguments in this group are specified.

--region=REGION
The Cloud region for the migration_job.

To set the region attribute:

  • provide the argument migration_job on the command line with a fully specified name;
  • provide the argument --region on the command line.
REQUIRED FLAGS
Connection profile resource - ID of the destination connection profile, representing the destination database. This represents a Cloud resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument --destination on the command line with a fully specified name;
  • provide the argument --project on the command line;
  • set the property core/project.

To set the region attribute:

  • provide the argument --destination on the command line with a fully specified name;
  • provide the argument --region on the command line.

This must be specified.

--destination=DESTINATION
ID of the connection_profile or fully qualified identifier for the connection_profile.

To set the connection_profile attribute:

  • provide the argument --destination on the command line.
Connection profile resource - ID of the source connection profile, representing the source database. This represents a Cloud resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument --source on the command line with a fully specified name;
  • provide the argument --project on the command line;
  • set the property core/project.

To set the region attribute:

  • provide the argument --source on the command line with a fully specified name;
  • provide the argument --region on the command line.

This must be specified.

--source=SOURCE
ID of the connection_profile or fully qualified identifier for the connection_profile.

To set the connection_profile attribute:

  • provide the argument --source on the command line.
--type=TYPE
Type of the migration job. TYPE must be one of: ONE_TIME, CONTINUOUS.
OPTIONAL FLAGS
--no-async
Waits for the operation in progress to complete before returning.
--commit-id=COMMIT_ID
Commit id for the conversion workspace to use for creating the migration job. If not specified, the latest commit id will be used by default.
Conversion workspace resource - Name of the conversion workspaces to be used for the migration job This represents a Cloud resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the project attribute:

  • provide the argument --conversion-workspace on the command line with a fully specified name;
  • provide the argument --project on the command line;
  • set the property core/project.

To set the region attribute:

  • provide the argument --conversion-workspace on the command line with a fully specified name;
  • provide the argument --region on the command line.
--conversion-workspace=CONVERSION_WORKSPACE
ID of the conversion_workspace or fully qualified identifier for the conversion_workspace.

To set the conversion_workspace attribute:

  • provide the argument --conversion-workspace on the command line.
--display-name=DISPLAY_NAME
A user-friendly name for the migration job. The display name can include letters, numbers, spaces, and hyphens, and must start with a letter.
--dump-parallel-level=DUMP_PARALLEL_LEVEL
Parallelization level during initial dump of the migration job. If not specified, will be defaulted to OPTIMAL. DUMP_PARALLEL_LEVEL must be one of: MIN, OPTIMAL, MAX.
--dump-path=DUMP_PATH
Path to the dump file in Google Cloud Storage, in the format: gs://[BUCKET_NAME]/[OBJECT_NAME].
--dump-type=DUMP_TYPE
The type of the data dump. Currently applicable for MySQL to MySQL migrations only. DUMP_TYPE must be one of: LOGICAL, PHYSICAL.
--filter=FILTER
Filter the entities based on AIP-160 standard. Example: to filter all tables whose name start with "Employee" and are present under schema "Company", use filter as "Company.Employee* AND type=TABLE"
--labels=[KEY=VALUE,…]
List of label KEY=VALUE pairs to add.

Keys must start with a lowercase character and contain only hyphens (-), underscores (_), lowercase characters, and numbers. Values must contain only hyphens (-), underscores (_), lowercase characters, and numbers.

Cmek key resource - Name of the CMEK (customer-managed encryption key) used for the migration job The arguments in this group can be used to specify the attributes of this resource. (NOTE) Some attributes are not given arguments in this group but can be set in other ways.

To set the region attribute:

  • provide the argument --cmek-key on the command line with a fully specified name;
  • provide the argument --region on the command line.
--cmek-key=CMEK_KEY
ID of the cmek-key or fully qualified identifier for the cmek-key.

To set the cmek-key attribute:

  • provide the argument --cmek-key on the command line.

This flag argument must be specified if any of the other arguments in this group are specified.

--cmek-keyring=CMEK_KEYRING
The CMEK keyring id of the cmek-key.

To set the cmek-keyring attribute:

  • provide the argument --cmek-key on the command line with a fully specified name;
  • provide the argument --cmek-keyring on the command line.
--cmek-project=CMEK_PROJECT
The Cloud project id for the cmek-key.

To set the cmek-project attribute:

  • provide the argument --cmek-key on the command line with a fully specified name;
  • provide the argument --cmek-project on the command line.
The connectivity method used by the migration job. If a connectivity method isn't specified, then it isn't added to the migration job.

At most one of these can be specified:

--peer-vpc=PEER_VPC
Name of the VPC network to peer with the Cloud SQL private network.
--static-ip
Use the default IP allowlist method. This method creates a public IP that will be used with the destination Cloud SQL database. The method works by configuring the source database server to accept connections from the outgoing IP of the Cloud SQL instance.
Parameters for the reverse-SSH tunnel connectivity method.
--vm-ip=VM_IP
Bastion Virtual Machine IP.

This flag argument must be specified if any of the other arguments in this group are specified.

--vm-port=VM_PORT
Forwarding port for the SSH tunnel.

This flag argument must be specified if any of the other arguments in this group are specified.

--vpc=VPC
Name of the VPC network where the VM is hosted.

This flag argument must be specified if any of the other arguments in this group are specified.

--vm=VM
Name of VM that will host the SSH tunnel bastion.
The SQL Server homogeneous migration config. This is used only for SQL Server to CloudSQL SQL Server migrations.
--sqlserver-databases=databaseName,[…]
A list of databases to be migrated to the destination Cloud SQL instance. Provide databases as a comma separated list. This list should contain all encrypted and non-encrypted database names.

This flag argument must be specified if any of the other arguments in this group are specified.

--sqlserver-backup-file-pattern=SQLSERVER_BACKUP_FILE_PATTERN; default=".(\\.|)(<epoch>\\d)\\.(trn|bak|trn\\.final)"
Pattern that describes the default backup naming strategy. The specified pattern should ensure lexicographical order of backups. The pattern should define the following capture group set epoch - unix timestamp Example: For backup files TestDB.1691448240.bak, TestDB.1691448254.trn, TestDB.1691448284.trn.final use pattern: .\.(<epoch>\d)\.(trn|bak|trn\.final) or .\.(<timestamp>\d)\.(trn|bak|trn\.final)
--sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES
A JSON/YAML file describing the encryption settings per database for all encrytped databases. An example of a JSON request: [{ "database": "db1", "encryptionOptions": { "certPath": "Path to certificate 1", "pvkPath": "Path to certificate private key 1", "pvkPassword": "Private key password 1" } }, { "database": "db2", "encryptionOptions": { "certPath": "Path to certificate 2", "pvkPath": "Path to certificate private key 2", "pvkPassword": "Private key password 2" } }]
This flag accepts "-" for stdin.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

NOTES
This variant is also available:
gcloud alpha database-migration migration-jobs create