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]
        [--databases-filter=databaseName,[...]] [--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-diff-backup
          --sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES
          --sqlserver-promote-when-ready] [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
        (https://cloud.google.com/database-migration/docs/mysql/configure-source-database).
      ▪ 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
        (https://cloud.google.com/database-migration/docs/mysql/configure-connectivity).
      ▪ [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
    with differential backup enabled:        $ gcloud database-migration migration-jobs create my-migration-job \
          --region=us-central1 --type=CONTINUOUS --source=cp1 \
          --destination=cp2 --sqlserver-diff-backup \
          --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-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.

     The migration job objects config.

       --databases-filter=databaseName,[...]
          A list of databases to be migrated to the destination instance.
          Provide databases as a comma separated list. This flag is used only
          for Postgres to AlloyDB and SQL Server to Cloud SQL SQL Server
          migrations.

     --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 (https://google.aip.dev/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 is used only for SQL Server to Cloud SQL migrations.

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

       --sqlserver-diff-backup
          Enable differential backups. If not specified, differential backups
          are disabled by default. Use --sqlserver-diff-backup to enable and
          --no-sqlserver-diff-backup to disable. This flag is used only for
          homogeneous SQL Server to Cloud SQL for SQL Server migrations.

       --sqlserver-encrypted-databases=SQLSERVER_ENCRYPTED_DATABASES
          A JSON/YAML file describing the encryption settings per database for
          all encrytped databases. Note: Path to the Certificate (.cer) and
          Private Key (.pvk) in Cloud Storage, should be in the form of
          gs://bucketName/fileName. The instance must have write permissions to
          the bucket and read access to the file. 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. This flag is used only for SQL Server to Cloud SQL migrations.

       --sqlserver-promote-when-ready
          Promote the database when it is ready. Use
          --sqlserver-promote-when-ready to enable and
          --no-sqlserver-promote-when-ready to disable. This flag is used only
          for homogeneous SQL Server to Cloud SQL for SQL Server migrations.

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

