Database Migrations Mongo To Cosmos Db RUMongo Args
Database Migration Resource for Mongo to CosmosDb. Uses Azure REST API version 2023-07-15-preview. In version 2.x of the Azure Native provider, it used API version 2023-07-15-preview. Other available API versions: 2025-03-15-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native datamigration [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create Mongo to CosmosDb Mongo(RU) Database Migration resource with Maximum parameters.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var databaseMigrationsMongoToCosmosDbRUMongo = new AzureNative.DataMigration.DatabaseMigrationsMongoToCosmosDbRUMongo("databaseMigrationsMongoToCosmosDbRUMongo", new()
{
CollectionList = new[]
{
new AzureNative.DataMigration.Inputs.MongoMigrationCollectionArgs
{
SourceCollection = "sourceCol1",
SourceDatabase = "sourceDb1",
TargetCollection = "targetCol1",
TargetDatabase = "targetDb1",
},
new AzureNative.DataMigration.Inputs.MongoMigrationCollectionArgs
{
SourceCollection = "sourceCol2",
SourceDatabase = "sourceDb2",
TargetCollection = "sourceCol2",
TargetDatabase = "sourceDb2",
},
},
Kind = "MongoToCosmosDbMongo",
MigrationName = "migrationRequest",
MigrationService = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService",
ResourceGroupName = "testrg",
Scope = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName",
SourceMongoConnection = new AzureNative.DataMigration.Inputs.MongoConnectionInformationArgs
{
Host = "abc.mongodb.com",
Password = "placeholder",
Port = 88,
UseSsl = true,
UserName = "abc",
},
TargetMongoConnection = new AzureNative.DataMigration.Inputs.MongoConnectionInformationArgs
{
Host = "xyz.mongocluster.cosmos.azure.com",
Password = "placeholder",
Port = 10255,
UseSsl = true,
UserName = "def",
},
TargetResourceName = "targetCosmosDbClusterName",
});
});
package main
import (
datamigration "github.com/pulumi/pulumi-azure-native-sdk/datamigration/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := datamigration.NewDatabaseMigrationsMongoToCosmosDbRUMongo(ctx, "databaseMigrationsMongoToCosmosDbRUMongo", &datamigration.DatabaseMigrationsMongoToCosmosDbRUMongoArgs{
CollectionList: datamigration.MongoMigrationCollectionArray{
&datamigration.MongoMigrationCollectionArgs{
SourceCollection: pulumi.String("sourceCol1"),
SourceDatabase: pulumi.String("sourceDb1"),
TargetCollection: pulumi.String("targetCol1"),
TargetDatabase: pulumi.String("targetDb1"),
},
&datamigration.MongoMigrationCollectionArgs{
SourceCollection: pulumi.String("sourceCol2"),
SourceDatabase: pulumi.String("sourceDb2"),
TargetCollection: pulumi.String("sourceCol2"),
TargetDatabase: pulumi.String("sourceDb2"),
},
},
Kind: pulumi.String("MongoToCosmosDbMongo"),
MigrationName: pulumi.String("migrationRequest"),
MigrationService: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService"),
ResourceGroupName: pulumi.String("testrg"),
Scope: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName"),
SourceMongoConnection: &datamigration.MongoConnectionInformationArgs{
Host: pulumi.String("abc.mongodb.com"),
Password: pulumi.String("placeholder"),
Port: pulumi.Int(88),
UseSsl: pulumi.Bool(true),
UserName: pulumi.String("abc"),
},
TargetMongoConnection: &datamigration.MongoConnectionInformationArgs{
Host: pulumi.String("xyz.mongocluster.cosmos.azure.com"),
Password: pulumi.String("placeholder"),
Port: pulumi.Int(10255),
UseSsl: pulumi.Bool(true),
UserName: pulumi.String("def"),
},
TargetResourceName: pulumi.String("targetCosmosDbClusterName"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.datamigration.DatabaseMigrationsMongoToCosmosDbRUMongo;
import com.pulumi.azurenative.datamigration.DatabaseMigrationsMongoToCosmosDbRUMongoArgs;
import com.pulumi.azurenative.datamigration.inputs.MongoMigrationCollectionArgs;
import com.pulumi.azurenative.datamigration.inputs.MongoConnectionInformationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var databaseMigrationsMongoToCosmosDbRUMongo = new DatabaseMigrationsMongoToCosmosDbRUMongo("databaseMigrationsMongoToCosmosDbRUMongo", DatabaseMigrationsMongoToCosmosDbRUMongoArgs.builder()
.collectionList(
MongoMigrationCollectionArgs.builder()
.sourceCollection("sourceCol1")
.sourceDatabase("sourceDb1")
.targetCollection("targetCol1")
.targetDatabase("targetDb1")
.build(),
MongoMigrationCollectionArgs.builder()
.sourceCollection("sourceCol2")
.sourceDatabase("sourceDb2")
.targetCollection("sourceCol2")
.targetDatabase("sourceDb2")
.build())
.kind("MongoToCosmosDbMongo")
.migrationName("migrationRequest")
.migrationService("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService")
.resourceGroupName("testrg")
.scope("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName")
.sourceMongoConnection(MongoConnectionInformationArgs.builder()
.host("abc.mongodb.com")
.password("placeholder")
.port(88)
.useSsl(true)
.userName("abc")
.build())
.targetMongoConnection(MongoConnectionInformationArgs.builder()
.host("xyz.mongocluster.cosmos.azure.com")
.password("placeholder")
.port(10255)
.useSsl(true)
.userName("def")
.build())
.targetResourceName("targetCosmosDbClusterName")
.build());
}
}
Create Mongo to CosmosDb Mongo(RU) Database Migration resource with Minimum parameters.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var databaseMigrationsMongoToCosmosDbRUMongo = new AzureNative.DataMigration.DatabaseMigrationsMongoToCosmosDbRUMongo("databaseMigrationsMongoToCosmosDbRUMongo", new()
{
CollectionList = new[]
{
new AzureNative.DataMigration.Inputs.MongoMigrationCollectionArgs
{
SourceCollection = "sourceCol1",
SourceDatabase = "sourceDb1",
TargetCollection = "targetCol1",
TargetDatabase = "targetDb1",
},
new AzureNative.DataMigration.Inputs.MongoMigrationCollectionArgs
{
SourceCollection = "sourceCol2",
SourceDatabase = "sourceDb2",
},
},
Kind = "MongoToCosmosDbMongo",
MigrationName = "migrationRequest",
MigrationService = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService",
ResourceGroupName = "testrg",
Scope = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName",
SourceMongoConnection = new AzureNative.DataMigration.Inputs.MongoConnectionInformationArgs
{
Host = "abc.mongodb.com",
Password = "placeholder",
Port = 88,
UseSsl = true,
UserName = "abc",
},
TargetMongoConnection = new AzureNative.DataMigration.Inputs.MongoConnectionInformationArgs
{
ConnectionString = "placeholder",
},
TargetResourceName = "targetCosmosDbClusterName",
});
});
package main
import (
datamigration "github.com/pulumi/pulumi-azure-native-sdk/datamigration/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := datamigration.NewDatabaseMigrationsMongoToCosmosDbRUMongo(ctx, "databaseMigrationsMongoToCosmosDbRUMongo", &datamigration.DatabaseMigrationsMongoToCosmosDbRUMongoArgs{
CollectionList: datamigration.MongoMigrationCollectionArray{
&datamigration.MongoMigrationCollectionArgs{
SourceCollection: pulumi.String("sourceCol1"),
SourceDatabase: pulumi.String("sourceDb1"),
TargetCollection: pulumi.String("targetCol1"),
TargetDatabase: pulumi.String("targetDb1"),
},
&datamigration.MongoMigrationCollectionArgs{
SourceCollection: pulumi.String("sourceCol2"),
SourceDatabase: pulumi.String("sourceDb2"),
},
},
Kind: pulumi.String("MongoToCosmosDbMongo"),
MigrationName: pulumi.String("migrationRequest"),
MigrationService: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService"),
ResourceGroupName: pulumi.String("testrg"),
Scope: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName"),
SourceMongoConnection: &datamigration.MongoConnectionInformationArgs{
Host: pulumi.String("abc.mongodb.com"),
Password: pulumi.String("placeholder"),
Port: pulumi.Int(88),
UseSsl: pulumi.Bool(true),
UserName: pulumi.String("abc"),
},
TargetMongoConnection: &datamigration.MongoConnectionInformationArgs{
ConnectionString: pulumi.String("placeholder"),
},
TargetResourceName: pulumi.String("targetCosmosDbClusterName"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.datamigration.DatabaseMigrationsMongoToCosmosDbRUMongo;
import com.pulumi.azurenative.datamigration.DatabaseMigrationsMongoToCosmosDbRUMongoArgs;
import com.pulumi.azurenative.datamigration.inputs.MongoMigrationCollectionArgs;
import com.pulumi.azurenative.datamigration.inputs.MongoConnectionInformationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var databaseMigrationsMongoToCosmosDbRUMongo = new DatabaseMigrationsMongoToCosmosDbRUMongo("databaseMigrationsMongoToCosmosDbRUMongo", DatabaseMigrationsMongoToCosmosDbRUMongoArgs.builder()
.collectionList(
MongoMigrationCollectionArgs.builder()
.sourceCollection("sourceCol1")
.sourceDatabase("sourceDb1")
.targetCollection("targetCol1")
.targetDatabase("targetDb1")
.build(),
MongoMigrationCollectionArgs.builder()
.sourceCollection("sourceCol2")
.sourceDatabase("sourceDb2")
.build())
.kind("MongoToCosmosDbMongo")
.migrationName("migrationRequest")
.migrationService("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/MigrationServices/testMigrationService")
.resourceGroupName("testrg")
.scope("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DocumentDB/mongoClusters/targetCosmosDbClusterName")
.sourceMongoConnection(MongoConnectionInformationArgs.builder()
.host("abc.mongodb.com")
.password("placeholder")
.port(88)
.useSsl(true)
.userName("abc")
.build())
.targetMongoConnection(MongoConnectionInformationArgs.builder()
.connectionString("placeholder")
.build())
.targetResourceName("targetCosmosDbClusterName")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:datamigration:DatabaseMigrationsMongoToCosmosDbRUMongo migrationRequest /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{targetResourceName}/providers/Microsoft.DataMigration/databaseMigrations/{migrationName}
Constructors
Properties
List of Mongo Collections to be migrated.
Name of the migration.
ID for current migration operation.
Resource Id of the Migration Service.
Error message for migration provisioning failure, if any.
Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
Source Mongo connection details.
Target Cosmos DB Mongo connection details.
The name of the target resource/account.