DatabaseMigrationsMongoToCosmosDbRUMongo

class DatabaseMigrationsMongoToCosmosDbRUMongo : KotlinCustomResource

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",
});
});
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
})
}
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/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
})
}
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}

Properties

Link copied to clipboard

List of Mongo Collections to be migrated.

Link copied to clipboard
val endedOn: Output<String>

Database migration end time.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val kind: Output<String>

Expected value is 'MongoToCosmosDbMongo'.

Link copied to clipboard

Error details in case of migration failure.

Link copied to clipboard

ID for current migration operation.

Link copied to clipboard
val migrationService: Output<String>?

Resource Id of the Migration Service.

Link copied to clipboard
val migrationStatus: Output<String>

Migration status.

Link copied to clipboard
val name: Output<String>

The name of the resource

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
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val scope: Output<String>?

Resource Id of the target resource.

Link copied to clipboard

Source Mongo connection details.

Link copied to clipboard
val startedOn: Output<String>

Database migration start time.

Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

Link copied to clipboard

Target Cosmos DB Mongo connection details.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>