Skip to main content

@swamp/gcp/datamigration

v2026.04.04.1

Google Cloud datamigration infrastructure models

Labels

gcpgoogle-clouddatamigrationcloudinfrastructure

Contents

Install

$ swamp extension pull @swamp/gcp/datamigration

Release Notes

  • Updated: connectionprofiles, migrationjobs

@swamp/gcp/datamigration/connectionprofilesv2026.04.04.1connectionprofiles.ts

Global Arguments

ArgumentTypeDescription
alloydb?objectSpecifies required connection parameters, and the parameters required to create an AlloyDB destination cluster.
cloudsql?objectSpecifies required connection parameters, and, optionally, the parameters required to create a Cloud SQL destination database instance.
displayName?stringThe connection profile display name.
error?objectThe `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](https://github.com/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](https://cloud.google.com/apis/design/errors).
labels?recordThe resource labels for connection profile 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" }`.
mysql?objectSpecifies connection parameters required specifically for MySQL databases.
name?stringThe name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
oracle?objectSpecifies connection parameters required specifically for Oracle databases.
postgresql?objectSpecifies connection parameters required specifically for PostgreSQL databases.
provider?enumThe database provider.
role?enumOptional. The connection profile role.
sqlserver?objectSpecifies connection parameters required specifically for SQL Server databases.
state?enumThe current connection profile state (e.g. DRAFT, READY, or FAILED).
connectionProfileId?stringRequired. The connection profile identifier.
requestId?stringOptional. 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.
skipValidation?stringOptional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a connectionProfiles
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a connectionProfiles
ArgumentTypeDescription
identifierstringThe name of the connectionProfiles
updateUpdate connectionProfiles attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
deleteDelete the connectionProfiles
ArgumentTypeDescription
identifierstringThe name of the connectionProfiles
syncSync connectionProfiles state from GCP

Resources

state(infinite)— A connection profile definition.
@swamp/gcp/datamigration/conversionworkspacesv2026.04.03.3conversionworkspaces.ts

Global Arguments

ArgumentTypeDescription
destination?objectThe type and version of a source or destination database.
destinationProvider?enumOptional. The provider for the destination database.
displayName?stringOptional. The display name for the workspace.
globalSettings?recordOptional. A generic list of settings for the workspace. The settings are database pair dependant and can indicate default behavior for the mapping rules engine or turn on or off specific features. Such examples can be: convert_foreign_key_to_interleave=true, skip_triggers=false, ignore_non_table_synonyms=true
name?stringFull name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
source?objectThe type and version of a source or destination database.
sourceProvider?enumOptional. The provider for the source database.
conversionWorkspaceId?stringRequired. The ID of the conversion workspace to create.
requestId?stringOptional. 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.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a conversionWorkspaces
getGet a conversionWorkspaces
ArgumentTypeDescription
identifierstringThe name of the conversionWorkspaces
updateUpdate conversionWorkspaces attributes
deleteDelete the conversionWorkspaces
ArgumentTypeDescription
identifierstringThe name of the conversionWorkspaces
syncSync conversionWorkspaces state from GCP
applyapply
ArgumentTypeDescription
autoCommit?any
connectionProfile?any
dryRun?any
filter?any
commitcommit
ArgumentTypeDescription
commitName?any
convertconvert
ArgumentTypeDescription
autoCommit?any
convertFullPath?any
filter?any
describe_conversion_workspace_revisionsdescribe conversion workspace revisions
describe_database_entitiesdescribe database entities
rollbackrollback
search_background_jobssearch background jobs
seedseed
ArgumentTypeDescription
autoCommit?any
destinationConnectionProfile?any
sourceConnectionProfile?any

Resources

state(infinite)— The main conversion workspace resource entity.
@swamp/gcp/datamigration/conversionworkspaces-mappingrulesv2026.04.03.3conversionworkspaces_mappingrules.ts

Global Arguments

ArgumentTypeDescription
conditionalColumnSetValue?objectOptions to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column.
convertRowidColumn?objectOptions to configure rule type ConvertROWIDToColumn. The rule is used to add column rowid to destination tables based on an Oracle rowid function/property. The rule filter field can refer to one or more entities. The rule scope can be one of: Table. This rule requires additional filter to be specified beyond the basic rule filter field, which is whether or not to work on tables which already have a primary key defined.
displayName?stringOptional. A human readable name
entityMove?objectOptions to configure rule type EntityMove. The rule is used to move an entity to a new schema. The rule filter field can refer to one or more entities. The rule scope can be one of: Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
filter?objectA filter defining the entities that a mapping rule should be applied to. When more than one field is specified, the rule is applied only to entities which match all the fields.
filterTableColumns?objectOptions to configure rule type FilterTableColumns. The rule is used to filter the list of columns to include or exclude from a table. The rule filter field can refer to one entity. The rule scope can be: Table Only one of the two lists can be specified for the rule.
multiColumnDataTypeChange?objectOptions to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which
multiEntityRename?objectOptions to configure rule type MultiEntityRename. The rule is used to rename multiple entities. The rule filter field can refer to one or more entities. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT
name?stringFull name of the mapping rule resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}.
ruleOrder?stringRequired. The order in which the rule is applied. Lower order rules are applied before higher value rules so they may end up being overridden.
ruleScope?enumRequired. The rule scope
setTablePrimaryKey?objectOptions to configure rule type SetTablePrimaryKey. The rule is used to specify the columns and name to configure/alter the primary key of a table. The rule filter field can refer to one entity. The rule scope can be one of: Table.
singleColumnChange?objectOptions to configure rule type SingleColumnChange. The rule is used to change the properties of a column. The rule filter field can refer to one entity. The rule scope can be one of: Column. When using this rule, if a field is not specified than the destination column's configuration will be the same as the one in the source column..
singleEntityRename?objectOptions to configure rule type SingleEntityRename. The rule is used to rename an entity. The rule filter field can refer to only one entity. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT, Synonym
singlePackageChange?objectOptions to configure rule type SinglePackageChange. The rule is used to alter the sql code for a package entities. The rule filter field can refer to one entity. The rule scope can be: Package
sourceSqlChange?objectOptions to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View
state?enumOptional. The mapping rule state
mappingRuleId?stringRequired. The ID of the rule to create.
requestId?stringOptional. 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.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a mappingRules
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a mappingRules
ArgumentTypeDescription
identifierstringThe name of the mappingRules
deleteDelete the mappingRules
ArgumentTypeDescription
identifierstringThe name of the mappingRules
syncSync mappingRules state from GCP
importimport
ArgumentTypeDescription
autoCommit?any
rulesFiles?any
rulesFormat?any

Resources

state(infinite)— Definition of a transformation that is to be applied to a group of entities i...
@swamp/gcp/datamigration/locationsv2026.04.03.3locations.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a locations
ArgumentTypeDescription
identifierstringThe name of the locations
syncSync locations state from GCP
fetch_static_ipsfetch static ips

Resources

state(infinite)— A resource that represents a Google Cloud location.
@swamp/gcp/datamigration/migrationjobsv2026.04.04.1migrationjobs.ts

Global Arguments

ArgumentTypeDescription
cmekKeyName?stringThe 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/[R
conversionWorkspace?objectA conversion workspace's version.
destination?stringRequired. The resource name (URI) of the destination connection profile.
destinationDatabase?objectA message defining the database engine and provider.
displayName?stringThe migration job display name.
dumpFlags?objectDump flags definition.
dumpPath?stringThe 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.
dumpType?enumOptional. The type of the data dump. Supported for MySQL to CloudSQL for MySQL migrations only.
error?objectThe `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](https://github.com/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](https://cloud.google.com/apis/design/errors).
filter?stringThis 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.
labels?recordThe 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" }`.
name?stringThe name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
objectsConfig?objectConfiguration for the objects to be migrated.
oracleToPostgresConfig?objectConfiguration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and **Oracle to AlloyDB for PostgreSQL** migrations.
originalMigrationName?stringOptional. A failback replication pointer to the resource name (URI) of the original migration job.
performanceConfig?objectPerformance configuration definition.
postgresToSqlserverConfig?objectConfiguration for heterogeneous failback migrations from **PostgreSQL to SQL Server**.
reverseSshConnectivity?objectThe 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.
source?stringRequired. The resource name (URI) of the source connection profile.
sourceDatabase?objectA message defining the database engine and provider.
sqlserverHomogeneousMigrationJobConfig?objectConfiguration for homogeneous migration to Cloud SQL for SQL Server.
sqlserverToPostgresConfig?objectConfiguration for heterogeneous **SQL Server to Cloud SQL for PostgreSQL** migrations.
state?enumThe current migration job state.
staticIpConnectivity?objectThe 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.
type?enumRequired. The migration job type.
vpcPeeringConnectivity?objectThe 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.
migrationJobId?stringRequired. The ID of the instance to create.
requestId?stringOptional. 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.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a migrationJobs
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a migrationJobs
ArgumentTypeDescription
identifierstringThe name of the migrationJobs
updateUpdate migrationJobs attributes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after update (default: true)
deleteDelete the migrationJobs
ArgumentTypeDescription
identifierstringThe name of the migrationJobs
syncSync migrationJobs state from GCP
demote_destinationdemote destination
fetch_source_objectsfetch source objects
generate_ssh_scriptgenerate ssh script
ArgumentTypeDescription
vm?any
vmCreationConfig?any
vmPort?any
vmSelectionConfig?any
generate_tcp_proxy_scriptgenerate tcp proxy script
ArgumentTypeDescription
vmMachineType?any
vmName?any
vmSubnet?any
vmZone?any
promotepromote
ArgumentTypeDescription
objectsFilter?any
restartrestart
ArgumentTypeDescription
objectsFilter?any
restartFailedObjects?any
skipValidation?any
resumeresume
ArgumentTypeDescription
skipValidation?any
startstart
ArgumentTypeDescription
objectsFilter?any
restartFailedObjects?any
skipValidation?any
stopstop
verifyverify
ArgumentTypeDescription
migrationJob?any
updateMask?any

Resources

state(infinite)— Represents a Database Migration Service migration job object.
@swamp/gcp/datamigration/migrationjobs-objectsv2026.04.03.3migrationjobs_objects.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
getGet a objects
ArgumentTypeDescription
identifierstringThe name of the objects
syncSync objects state from GCP
lookuplookup
ArgumentTypeDescription
sourceObjectIdentifier?any

Resources

state(infinite)— A specific Migration Job Object (e.g. a specifc DB Table)
@swamp/gcp/datamigration/privateconnectionsv2026.04.03.3privateconnections.ts

Global Arguments

ArgumentTypeDescription
displayName?stringThe private connection display name.
error?objectThe `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](https://github.com/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](https://cloud.google.com/apis/design/errors).
labels?recordThe resource labels for private connections 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" }`.
name?stringThe name of the resource.
pscInterfaceConfig?objectThe PSC Interface configuration is used to create PSC Interface between DMS's internal VPC and the consumer's PSC.
vpcPeeringConfig?objectThe VPC peering configuration is used to create VPC peering with the consumer's VPC.
privateConnectionId?stringRequired. The private connection identifier.
requestId?stringOptional. 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.
skipValidation?stringOptional. If set to true, will skip validations.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a privateConnections
getGet a privateConnections
ArgumentTypeDescription
identifierstringThe name of the privateConnections
deleteDelete the privateConnections
ArgumentTypeDescription
identifierstringThe name of the privateConnections
syncSync privateConnections state from GCP

Resources

state(infinite)— The PrivateConnection resource is used to establish private connectivity with...