Class: Google::Apis::DatamigrationV1::MigrationJob

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/datamigration_v1/classes.rb,
lib/google/apis/datamigration_v1/representations.rb,
lib/google/apis/datamigration_v1/representations.rb

Overview

Represents a Database Migration Service migration job object.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MigrationJob

Returns a new instance of MigrationJob.



3555
3556
3557
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3555

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cmek_key_nameString

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] Corresponds to the JSON property cmekKeyName

Returns:

  • (String)


3341
3342
3343
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3341

def cmek_key_name
  @cmek_key_name
end

#conversion_workspaceGoogle::Apis::DatamigrationV1::ConversionWorkspaceInfo

A conversion workspace's version. Corresponds to the JSON property conversionWorkspace



3346
3347
3348
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3346

def conversion_workspace
  @conversion_workspace
end

#create_timeString

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". Corresponds to the JSON property createTime

Returns:

  • (String)


3353
3354
3355
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3353

def create_time
  @create_time
end

#destinationString

Required. The resource name (URI) of the destination connection profile. Corresponds to the JSON property destination

Returns:

  • (String)


3358
3359
3360
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3358

def destination
  @destination
end

#destination_databaseGoogle::Apis::DatamigrationV1::DatabaseType

A message defining the database engine and provider. Corresponds to the JSON property destinationDatabase



3363
3364
3365
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3363

def destination_database
  @destination_database
end

#display_nameString

The migration job display name. Corresponds to the JSON property displayName

Returns:

  • (String)


3368
3369
3370
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3368

def display_name
  @display_name
end

#dump_flagsGoogle::Apis::DatamigrationV1::DumpFlags

Dump flags definition. Corresponds to the JSON property dumpFlags



3373
3374
3375
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3373

def dump_flags
  @dump_flags
end

#dump_pathString

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. Corresponds to the JSON property dumpPath

Returns:

  • (String)


3380
3381
3382
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3380

def dump_path
  @dump_path
end

#dump_typeString

Optional. The type of the data dump. Supported for MySQL to CloudSQL for MySQL migrations only. Corresponds to the JSON property dumpType

Returns:

  • (String)


3386
3387
3388
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3386

def dump_type
  @dump_type
end

#durationString

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". Corresponds to the JSON property duration

Returns:

  • (String)


3392
3393
3394
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3392

def duration
  @duration
end

#end_timeString

Output only. If the migration job is completed, the time when it was completed. Corresponds to the JSON property endTime

Returns:

  • (String)


3397
3398
3399
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3397

def end_time
  @end_time
end

#errorGoogle::Apis::DatamigrationV1::Status

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide. Corresponds to the JSON property error



3407
3408
3409
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3407

def error
  @error
end

#filterString

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. Corresponds to the JSON property filter

Returns:

  • (String)


3415
3416
3417
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3415

def filter
  @filter
end

#labelsHash<String,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". Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3423
3424
3425
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3423

def labels
  @labels
end

#mysql_homogeneous_configGoogle::Apis::DatamigrationV1::MySqlHomogeneousConfig

Configuration for MySQL to MySQL migrations. Corresponds to the JSON property mysqlHomogeneousConfig



3428
3429
3430
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3428

def mysql_homogeneous_config
  @mysql_homogeneous_config
end

#nameString

The name (URI) of this migration job resource, in the form of: projects/ project/locations/location/migrationJobs/migrationJob. Corresponds to the JSON property name

Returns:

  • (String)


3434
3435
3436
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3434

def name
  @name
end

#objects_configGoogle::Apis::DatamigrationV1::MigrationJobObjectsConfig

Configuration for the objects to be migrated. Corresponds to the JSON property objectsConfig



3439
3440
3441
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3439

def objects_config
  @objects_config
end

#oracle_to_postgres_configGoogle::Apis::DatamigrationV1::OracleToPostgresConfig

Configuration for heterogeneous Oracle to Cloud SQL for PostgreSQL and ** Oracle to AlloyDB for PostgreSQL** migrations. Corresponds to the JSON property oracleToPostgresConfig



3445
3446
3447
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3445

def oracle_to_postgres_config
  @oracle_to_postgres_config
end

#original_migration_nameString

Optional. A failback replication pointer to the resource name (URI) of the original migration job. Corresponds to the JSON property originalMigrationName

Returns:

  • (String)


3451
3452
3453
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3451

def original_migration_name
  @original_migration_name
end

#performance_configGoogle::Apis::DatamigrationV1::PerformanceConfig

Performance configuration definition. Corresponds to the JSON property performanceConfig



3456
3457
3458
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3456

def performance_config
  @performance_config
end

#phaseString

Output only. The current migration job phase. Corresponds to the JSON property phase

Returns:

  • (String)


3461
3462
3463
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3461

def phase
  @phase
end

#postgres_homogeneous_configGoogle::Apis::DatamigrationV1::PostgresHomogeneousConfig

Configuration for PostgreSQL to PostgreSQL migrations. Corresponds to the JSON property postgresHomogeneousConfig



3466
3467
3468
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3466

def postgres_homogeneous_config
  @postgres_homogeneous_config
end

#postgres_to_sqlserver_configGoogle::Apis::DatamigrationV1::PostgresToSqlServerConfig

Configuration for heterogeneous failback migrations from PostgreSQL to SQL Server. Corresponds to the JSON property postgresToSqlserverConfig



3472
3473
3474
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3472

def postgres_to_sqlserver_config
  @postgres_to_sqlserver_config
end

#purposeString

Output only. Migration job mode. Migration jobs can be standard forward jobs or failback migration jobs. Corresponds to the JSON property purpose

Returns:

  • (String)


3478
3479
3480
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3478

def purpose
  @purpose
end

#reverse_ssh_connectivityGoogle::Apis::DatamigrationV1::ReverseSshConnectivity

The details needed to configure a reverse SSH tunnel between the source and destination databases. These details will be used when calling the generateSshScript method (see https://cloud.google.com/database-migration/docs/ reference/rest/v1/projects.locations.migrationJobs/generateSshScript) to produce the script that will help set up the reverse SSH tunnel, and to set up the VPC peering between the Cloud SQL private network and the VPC. Corresponds to the JSON property reverseSshConnectivity



3488
3489
3490
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3488

def reverse_ssh_connectivity
  @reverse_ssh_connectivity
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


3493
3494
3495
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3493

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


3499
3500
3501
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3499

def satisfies_pzs
  @satisfies_pzs
end

#sourceString

Required. The resource name (URI) of the source connection profile. Corresponds to the JSON property source

Returns:

  • (String)


3505
3506
3507
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3505

def source
  @source
end

#source_databaseGoogle::Apis::DatamigrationV1::DatabaseType

A message defining the database engine and provider. Corresponds to the JSON property sourceDatabase



3510
3511
3512
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3510

def source_database
  @source_database
end

#sqlserver_homogeneous_migration_job_configGoogle::Apis::DatamigrationV1::SqlServerHomogeneousMigrationJobConfig

Configuration for homogeneous migration to Cloud SQL for SQL Server. Corresponds to the JSON property sqlserverHomogeneousMigrationJobConfig



3515
3516
3517
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3515

def sqlserver_homogeneous_migration_job_config
  @sqlserver_homogeneous_migration_job_config
end

#sqlserver_to_postgres_configGoogle::Apis::DatamigrationV1::SqlServerToPostgresConfig

Configuration for heterogeneous SQL Server to Cloud SQL for PostgreSQL migrations. Corresponds to the JSON property sqlserverToPostgresConfig



3521
3522
3523
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3521

def sqlserver_to_postgres_config
  @sqlserver_to_postgres_config
end

#stateString

The current migration job state. Corresponds to the JSON property state

Returns:

  • (String)


3526
3527
3528
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3526

def state
  @state
end

#static_ip_connectivityGoogle::Apis::DatamigrationV1::StaticIpConnectivity

The source database will allow incoming connections from the public IP of the destination database. You can retrieve the public IP of the Cloud SQL instance from the Cloud SQL console or using Cloud SQL APIs. No additional configuration is required. Corresponds to the JSON property staticIpConnectivity



3534
3535
3536
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3534

def static_ip_connectivity
  @static_ip_connectivity
end

#typeString

Required. The migration job type. Corresponds to the JSON property type

Returns:

  • (String)


3539
3540
3541
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3539

def type
  @type
end

#update_timeString

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". Corresponds to the JSON property updateTime

Returns:

  • (String)


3546
3547
3548
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3546

def update_time
  @update_time
end

#vpc_peering_connectivityGoogle::Apis::DatamigrationV1::VpcPeeringConnectivity

The details of the VPC where the source database is located in Google Cloud. We will use this information to set up the VPC peering connection between Cloud SQL and this VPC. Corresponds to the JSON property vpcPeeringConnectivity



3553
3554
3555
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3553

def vpc_peering_connectivity
  @vpc_peering_connectivity
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
# File 'lib/google/apis/datamigration_v1/classes.rb', line 3560

def update!(**args)
  @cmek_key_name = args[:cmek_key_name] if args.key?(:cmek_key_name)
  @conversion_workspace = args[:conversion_workspace] if args.key?(:conversion_workspace)
  @create_time = args[:create_time] if args.key?(:create_time)
  @destination = args[:destination] if args.key?(:destination)
  @destination_database = args[:destination_database] if args.key?(:destination_database)
  @display_name = args[:display_name] if args.key?(:display_name)
  @dump_flags = args[:dump_flags] if args.key?(:dump_flags)
  @dump_path = args[:dump_path] if args.key?(:dump_path)
  @dump_type = args[:dump_type] if args.key?(:dump_type)
  @duration = args[:duration] if args.key?(:duration)
  @end_time = args[:end_time] if args.key?(:end_time)
  @error = args[:error] if args.key?(:error)
  @filter = args[:filter] if args.key?(:filter)
  @labels = args[:labels] if args.key?(:labels)
  @mysql_homogeneous_config = args[:mysql_homogeneous_config] if args.key?(:mysql_homogeneous_config)
  @name = args[:name] if args.key?(:name)
  @objects_config = args[:objects_config] if args.key?(:objects_config)
  @oracle_to_postgres_config = args[:oracle_to_postgres_config] if args.key?(:oracle_to_postgres_config)
  @original_migration_name = args[:original_migration_name] if args.key?(:original_migration_name)
  @performance_config = args[:performance_config] if args.key?(:performance_config)
  @phase = args[:phase] if args.key?(:phase)
  @postgres_homogeneous_config = args[:postgres_homogeneous_config] if args.key?(:postgres_homogeneous_config)
  @postgres_to_sqlserver_config = args[:postgres_to_sqlserver_config] if args.key?(:postgres_to_sqlserver_config)
  @purpose = args[:purpose] if args.key?(:purpose)
  @reverse_ssh_connectivity = args[:reverse_ssh_connectivity] if args.key?(:reverse_ssh_connectivity)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @source = args[:source] if args.key?(:source)
  @source_database = args[:source_database] if args.key?(:source_database)
  @sqlserver_homogeneous_migration_job_config = args[:sqlserver_homogeneous_migration_job_config] if args.key?(:sqlserver_homogeneous_migration_job_config)
  @sqlserver_to_postgres_config = args[:sqlserver_to_postgres_config] if args.key?(:sqlserver_to_postgres_config)
  @state = args[:state] if args.key?(:state)
  @static_ip_connectivity = args[:static_ip_connectivity] if args.key?(:static_ip_connectivity)
  @type = args[:type] if args.key?(:type)
  @update_time = args[:update_time] if args.key?(:update_time)
  @vpc_peering_connectivity = args[:vpc_peering_connectivity] if args.key?(:vpc_peering_connectivity)
end