MongoClusterArgs

data class MongoClusterArgs(val administratorLogin: Output<String>? = null, val administratorLoginPassword: Output<String>? = null, val createMode: Output<Either<String, CreateMode>>? = null, val location: Output<String>? = null, val mongoClusterName: Output<String>? = null, val nodeGroupSpecs: Output<List<NodeGroupSpecArgs>>? = null, val resourceGroupName: Output<String>? = null, val restoreParameters: Output<MongoClusterRestoreParametersArgs>? = null, val serverVersion: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<MongoClusterArgs>

Represents a mongo cluster resource. Uses Azure REST API version 2023-03-15-preview. Other available API versions: 2023-09-15-preview, 2023-11-15-preview, 2024-02-15-preview, 2024-03-01-preview, 2024-06-01-preview, 2024-07-01, 2024-10-01-preview.

Example Usage

Create a new mongo cluster

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var mongoCluster = new AzureNative.DocumentDB.MongoCluster("mongoCluster", new()
{
AdministratorLogin = "mongoAdmin",
AdministratorLoginPassword = "password",
Location = "westus2",
MongoClusterName = "myMongoCluster",
NodeGroupSpecs = new[]
{
new AzureNative.DocumentDB.Inputs.NodeGroupSpecArgs
{
DiskSizeGB = 128,
EnableHa = true,
Kind = AzureNative.DocumentDB.NodeKind.Shard,
NodeCount = 3,
Sku = "M30",
},
},
ResourceGroupName = "TestResourceGroup",
ServerVersion = "5.0",
});
});
package main
import (
documentdb "github.com/pulumi/pulumi-azure-native-sdk/documentdb/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := documentdb.NewMongoCluster(ctx, "mongoCluster", &documentdb.MongoClusterArgs{
AdministratorLogin: pulumi.String("mongoAdmin"),
AdministratorLoginPassword: pulumi.String("password"),
Location: pulumi.String("westus2"),
MongoClusterName: pulumi.String("myMongoCluster"),
NodeGroupSpecs: documentdb.NodeGroupSpecArray{
&documentdb.NodeGroupSpecArgs{
DiskSizeGB: pulumi.Float64(128),
EnableHa: pulumi.Bool(true),
Kind: pulumi.String(documentdb.NodeKindShard),
NodeCount: pulumi.Int(3),
Sku: pulumi.String("M30"),
},
},
ResourceGroupName: pulumi.String("TestResourceGroup"),
ServerVersion: pulumi.String("5.0"),
})
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.documentdb.MongoCluster;
import com.pulumi.azurenative.documentdb.MongoClusterArgs;
import com.pulumi.azurenative.documentdb.inputs.NodeGroupSpecArgs;
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 mongoCluster = new MongoCluster("mongoCluster", MongoClusterArgs.builder()
.administratorLogin("mongoAdmin")
.administratorLoginPassword("password")
.location("westus2")
.mongoClusterName("myMongoCluster")
.nodeGroupSpecs(NodeGroupSpecArgs.builder()
.diskSizeGB(128)
.enableHa(true)
.kind("Shard")
.nodeCount(3)
.sku("M30")
.build())
.resourceGroupName("TestResourceGroup")
.serverVersion("5.0")
.build());
}
}

Create a new mongo cluster with point in time restore

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var mongoCluster = new AzureNative.DocumentDB.MongoCluster("mongoCluster", new()
{
CreateMode = AzureNative.DocumentDB.CreateMode.PointInTimeRestore,
Location = "westus2",
MongoClusterName = "myMongoCluster",
ResourceGroupName = "TestResourceGroup",
RestoreParameters = new AzureNative.DocumentDB.Inputs.MongoClusterRestoreParametersArgs
{
PointInTimeUTC = "2023-01-13T20:07:35Z",
SourceResourceId = "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster",
},
});
});
package main
import (
documentdb "github.com/pulumi/pulumi-azure-native-sdk/documentdb/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := documentdb.NewMongoCluster(ctx, "mongoCluster", &documentdb.MongoClusterArgs{
CreateMode: pulumi.String(documentdb.CreateModePointInTimeRestore),
Location: pulumi.String("westus2"),
MongoClusterName: pulumi.String("myMongoCluster"),
ResourceGroupName: pulumi.String("TestResourceGroup"),
RestoreParameters: &documentdb.MongoClusterRestoreParametersArgs{
PointInTimeUTC: pulumi.String("2023-01-13T20:07:35Z"),
SourceResourceId: pulumi.String("/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster"),
},
})
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.documentdb.MongoCluster;
import com.pulumi.azurenative.documentdb.MongoClusterArgs;
import com.pulumi.azurenative.documentdb.inputs.MongoClusterRestoreParametersArgs;
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 mongoCluster = new MongoCluster("mongoCluster", MongoClusterArgs.builder()
.createMode("PointInTimeRestore")
.location("westus2")
.mongoClusterName("myMongoCluster")
.resourceGroupName("TestResourceGroup")
.restoreParameters(MongoClusterRestoreParametersArgs.builder()
.pointInTimeUTC("2023-01-13T20:07:35Z")
.sourceResourceId("/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestResourceGroup/providers/Microsoft.DocumentDB/mongoClusters/myOtherMongoCluster")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:documentdb:MongoCluster myMongoCluster /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}

Constructors

Link copied to clipboard
constructor(administratorLogin: Output<String>? = null, administratorLoginPassword: Output<String>? = null, createMode: Output<Either<String, CreateMode>>? = null, location: Output<String>? = null, mongoClusterName: Output<String>? = null, nodeGroupSpecs: Output<List<NodeGroupSpecArgs>>? = null, resourceGroupName: Output<String>? = null, restoreParameters: Output<MongoClusterRestoreParametersArgs>? = null, serverVersion: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val administratorLogin: Output<String>? = null

The administrator's login for the mongo cluster.

Link copied to clipboard
val administratorLoginPassword: Output<String>? = null

The password of the administrator login.

Link copied to clipboard
val createMode: Output<Either<String, CreateMode>>? = null

The mode to create a mongo cluster.

Link copied to clipboard
val location: Output<String>? = null

The geo-location where the resource lives

Link copied to clipboard
val mongoClusterName: Output<String>? = null

The name of the mongo cluster.

Link copied to clipboard
val nodeGroupSpecs: Output<List<NodeGroupSpecArgs>>? = null

The list of node group specs in the cluster.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard

Parameters used for restore operations

Link copied to clipboard
val serverVersion: Output<String>? = null

The Mongo DB server version. Defaults to the latest available version if not specified.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Functions

Link copied to clipboard
open override fun toJava(): MongoClusterArgs