Database Migrations Mongo To Cosmos Db RUMongo
Database Migration Resource for Mongo to CosmosDb. Uses Azure REST API version 2023-07-15-preview.
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",
});
});
Content copied to clipboard
package main
import (
datamigration "github.com/pulumi/pulumi-azure-native-sdk/datamigration/v2"
"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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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",
});
});
Content copied to clipboard
package main
import (
datamigration "github.com/pulumi/pulumi-azure-native-sdk/datamigration/v2"
"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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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}
Content copied to clipboard
Properties
Link copied to clipboard
List of Mongo Collections to be migrated.
Link copied to clipboard
Error details in case of migration failure.
Link copied to clipboard
ID for current migration operation.
Link copied to clipboard
Resource Id of the Migration Service.
Link copied to clipboard
Migration status.
Link copied to clipboard
Error message for migration provisioning failure, if any.
Link copied to clipboard
Provisioning State of migration. ProvisioningState as Succeeded implies that validations have been performed and migration has started.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Source Mongo connection details.
Link copied to clipboard
Azure Resource Manager metadata containing createdBy and modifiedBy information.
Link copied to clipboard
Target Cosmos DB Mongo connection details.