import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new migration job in a given project and location. */ export declare class MigrationJob extends pulumi.CustomResource { /** * Get an existing MigrationJob resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MigrationJob; /** * Returns true if the given object is an instance of MigrationJob. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is MigrationJob; /** * 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] */ readonly cmekKeyName: pulumi.Output; /** * The conversion workspace used by the migration. */ readonly conversionWorkspace: pulumi.Output; /** * 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". */ readonly createTime: pulumi.Output; /** * The resource name (URI) of the destination connection profile. */ readonly destination: pulumi.Output; /** * The database engine type and provider of the destination. */ readonly destinationDatabase: pulumi.Output; /** * The migration job display name. */ readonly displayName: pulumi.Output; /** * The initial dump flags. This field and the "dump_path" field are mutually exclusive. */ readonly dumpFlags: pulumi.Output; /** * 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. */ readonly dumpPath: pulumi.Output; /** * The duration of the migration job (in seconds). A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". */ readonly duration: pulumi.Output; /** * If the migration job is completed, the time when it was completed. */ readonly endTime: pulumi.Output; /** * The error details in case of state FAILED. */ readonly error: pulumi.Output; /** * 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. */ readonly filter: pulumi.Output; /** * 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" }`. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * Required. The ID of the instance to create. */ readonly migrationJobId: pulumi.Output; /** * The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. */ readonly name: pulumi.Output; /** * Optional. Data dump parallelism settings used by the migration. Currently applicable only for MySQL to Cloud SQL for MySQL migrations only. */ readonly performanceConfig: pulumi.Output; /** * The current migration job phase. */ readonly phase: pulumi.Output; readonly project: pulumi.Output; /** * Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. */ readonly requestId: pulumi.Output; /** * The details needed to communicate to the source over Reverse SSH tunnel connectivity. */ readonly reverseSshConnectivity: pulumi.Output; /** * The resource name (URI) of the source connection profile. */ readonly source: pulumi.Output; /** * The database engine type and provider of the source. */ readonly sourceDatabase: pulumi.Output; /** * The current migration job state. */ readonly state: pulumi.Output; /** * static ip connectivity data (default, no additional details needed). */ readonly staticIpConnectivity: pulumi.Output; /** * The migration job type. */ readonly type: pulumi.Output; /** * 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". */ readonly updateTime: pulumi.Output; /** * The details of the VPC network that the source database is located in. */ readonly vpcPeeringConnectivity: pulumi.Output; /** * Create a MigrationJob resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MigrationJobArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a MigrationJob resource. */ export interface MigrationJobArgs { /** * 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] */ cmekKeyName?: pulumi.Input; /** * The conversion workspace used by the migration. */ conversionWorkspace?: pulumi.Input; /** * The resource name (URI) of the destination connection profile. */ destination: pulumi.Input; /** * The database engine type and provider of the destination. */ destinationDatabase?: pulumi.Input; /** * The migration job display name. */ displayName?: pulumi.Input; /** * The initial dump flags. This field and the "dump_path" field are mutually exclusive. */ dumpFlags?: pulumi.Input; /** * 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. */ dumpPath?: pulumi.Input; /** * 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. */ filter?: pulumi.Input; /** * 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" }`. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * Required. The ID of the instance to create. */ migrationJobId: pulumi.Input; /** * The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. */ name?: pulumi.Input; /** * Optional. Data dump parallelism settings used by the migration. Currently applicable only for MySQL to Cloud SQL for MySQL migrations only. */ performanceConfig?: pulumi.Input; project?: pulumi.Input; /** * Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is ignored. It is recommended to always set this value to a UUID. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. */ requestId?: pulumi.Input; /** * The details needed to communicate to the source over Reverse SSH tunnel connectivity. */ reverseSshConnectivity?: pulumi.Input; /** * The resource name (URI) of the source connection profile. */ source: pulumi.Input; /** * The database engine type and provider of the source. */ sourceDatabase?: pulumi.Input; /** * The current migration job state. */ state?: pulumi.Input; /** * static ip connectivity data (default, no additional details needed). */ staticIpConnectivity?: pulumi.Input; /** * The migration job type. */ type: pulumi.Input; /** * The details of the VPC network that the source database is located in. */ vpcPeeringConnectivity?: pulumi.Input; }