Mongo Cluster
Manages a MongoDB Cluster using vCore Architecture.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-rg",
location: "East US",
});
const exampleMongoCluster = new azure.cosmosdb.MongoCluster("example", {
name: "example-mc",
resourceGroupName: example.name,
location: example.location,
administratorUsername: "adminTerraform",
administratorPassword: "QAZwsx123",
shardCount: 1,
computeTier: "Free",
highAvailabilityMode: "Disabled",
storageSizeInGb: 32,
});import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-rg",
location="East US")
example_mongo_cluster = azure.cosmosdb.MongoCluster("example",
name="example-mc",
resource_group_name=example.name,
location=example.location,
administrator_username="adminTerraform",
administrator_password="QAZwsx123",
shard_count=1,
compute_tier="Free",
high_availability_mode="Disabled",
storage_size_in_gb=32)using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-rg",
Location = "East US",
});
var exampleMongoCluster = new Azure.CosmosDB.MongoCluster("example", new()
{
Name = "example-mc",
ResourceGroupName = example.Name,
Location = example.Location,
AdministratorUsername = "adminTerraform",
AdministratorPassword = "QAZwsx123",
ShardCount = 1,
ComputeTier = "Free",
HighAvailabilityMode = "Disabled",
StorageSizeInGb = 32,
});
});package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-rg"),
Location: pulumi.String("East US"),
})
if err != nil {
return err
}
_, err = cosmosdb.NewMongoCluster(ctx, "example", &cosmosdb.MongoClusterArgs{
Name: pulumi.String("example-mc"),
ResourceGroupName: example.Name,
Location: example.Location,
AdministratorUsername: pulumi.String("adminTerraform"),
AdministratorPassword: pulumi.String("QAZwsx123"),
ShardCount: pulumi.Int(1),
ComputeTier: pulumi.String("Free"),
HighAvailabilityMode: pulumi.String("Disabled"),
StorageSizeInGb: pulumi.Int(32),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.cosmosdb.MongoCluster;
import com.pulumi.azure.cosmosdb.MongoClusterArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-rg")
.location("East US")
.build());
var exampleMongoCluster = new MongoCluster("exampleMongoCluster", MongoClusterArgs.builder()
.name("example-mc")
.resourceGroupName(example.name())
.location(example.location())
.administratorUsername("adminTerraform")
.administratorPassword("QAZwsx123")
.shardCount("1")
.computeTier("Free")
.highAvailabilityMode("Disabled")
.storageSizeInGb("32")
.build());
}
}resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-rg
location: East US
exampleMongoCluster:
type: azure:cosmosdb:MongoCluster
name: example
properties:
name: example-mc
resourceGroupName: ${example.name}
location: ${example.location}
administratorUsername: adminTerraform
administratorPassword: QAZwsx123
shardCount: '1'
computeTier: Free
highAvailabilityMode: Disabled
storageSizeInGb: '32'Preview Feature GeoReplicas)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-rg",
location: "East US",
});
const exampleMongoCluster = new azure.cosmosdb.MongoCluster("example", {
name: "example-mc",
resourceGroupName: example.name,
location: example.location,
administratorUsername: "adminTerraform",
administratorPassword: "QAZwsx123",
shardCount: 1,
computeTier: "M30",
highAvailabilityMode: "ZoneRedundantPreferred",
storageSizeInGb: 64,
previewFeatures: ["GeoReplicas"],
});
const exampleGeoReplica = new azure.cosmosdb.MongoCluster("example_geo_replica", {
name: "example-mc-geo",
resourceGroupName: example.name,
location: "Central US",
sourceServerId: exampleMongoCluster.id,
sourceLocation: exampleMongoCluster.location,
createMode: "GeoReplica",
});import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-rg",
location="East US")
example_mongo_cluster = azure.cosmosdb.MongoCluster("example",
name="example-mc",
resource_group_name=example.name,
location=example.location,
administrator_username="adminTerraform",
administrator_password="QAZwsx123",
shard_count=1,
compute_tier="M30",
high_availability_mode="ZoneRedundantPreferred",
storage_size_in_gb=64,
preview_features=["GeoReplicas"])
example_geo_replica = azure.cosmosdb.MongoCluster("example_geo_replica",
name="example-mc-geo",
resource_group_name=example.name,
location="Central US",
source_server_id=example_mongo_cluster.id,
source_location=example_mongo_cluster.location,
create_mode="GeoReplica")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-rg",
Location = "East US",
});
var exampleMongoCluster = new Azure.CosmosDB.MongoCluster("example", new()
{
Name = "example-mc",
ResourceGroupName = example.Name,
Location = example.Location,
AdministratorUsername = "adminTerraform",
AdministratorPassword = "QAZwsx123",
ShardCount = 1,
ComputeTier = "M30",
HighAvailabilityMode = "ZoneRedundantPreferred",
StorageSizeInGb = 64,
PreviewFeatures = new[]
{
"GeoReplicas",
},
});
var exampleGeoReplica = new Azure.CosmosDB.MongoCluster("example_geo_replica", new()
{
Name = "example-mc-geo",
ResourceGroupName = example.Name,
Location = "Central US",
SourceServerId = exampleMongoCluster.Id,
SourceLocation = exampleMongoCluster.Location,
CreateMode = "GeoReplica",
});
});package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/cosmosdb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-rg"),
Location: pulumi.String("East US"),
})
if err != nil {
return err
}
exampleMongoCluster, err := cosmosdb.NewMongoCluster(ctx, "example", &cosmosdb.MongoClusterArgs{
Name: pulumi.String("example-mc"),
ResourceGroupName: example.Name,
Location: example.Location,
AdministratorUsername: pulumi.String("adminTerraform"),
AdministratorPassword: pulumi.String("QAZwsx123"),
ShardCount: pulumi.Int(1),
ComputeTier: pulumi.String("M30"),
HighAvailabilityMode: pulumi.String("ZoneRedundantPreferred"),
StorageSizeInGb: pulumi.Int(64),
PreviewFeatures: pulumi.StringArray{
pulumi.String("GeoReplicas"),
},
})
if err != nil {
return err
}
_, err = cosmosdb.NewMongoCluster(ctx, "example_geo_replica", &cosmosdb.MongoClusterArgs{
Name: pulumi.String("example-mc-geo"),
ResourceGroupName: example.Name,
Location: pulumi.String("Central US"),
SourceServerId: exampleMongoCluster.ID(),
SourceLocation: exampleMongoCluster.Location,
CreateMode: pulumi.String("GeoReplica"),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.cosmosdb.MongoCluster;
import com.pulumi.azure.cosmosdb.MongoClusterArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-rg")
.location("East US")
.build());
var exampleMongoCluster = new MongoCluster("exampleMongoCluster", MongoClusterArgs.builder()
.name("example-mc")
.resourceGroupName(example.name())
.location(example.location())
.administratorUsername("adminTerraform")
.administratorPassword("QAZwsx123")
.shardCount("1")
.computeTier("M30")
.highAvailabilityMode("ZoneRedundantPreferred")
.storageSizeInGb("64")
.previewFeatures("GeoReplicas")
.build());
var exampleGeoReplica = new MongoCluster("exampleGeoReplica", MongoClusterArgs.builder()
.name("example-mc-geo")
.resourceGroupName(example.name())
.location("Central US")
.sourceServerId(exampleMongoCluster.id())
.sourceLocation(exampleMongoCluster.location())
.createMode("GeoReplica")
.build());
}
}resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-rg
location: East US
exampleMongoCluster:
type: azure:cosmosdb:MongoCluster
name: example
properties:
name: example-mc
resourceGroupName: ${example.name}
location: ${example.location}
administratorUsername: adminTerraform
administratorPassword: QAZwsx123
shardCount: '1'
computeTier: M30
highAvailabilityMode: ZoneRedundantPreferred
storageSizeInGb: '64'
previewFeatures:
- GeoReplicas
exampleGeoReplica:
type: azure:cosmosdb:MongoCluster
name: example_geo_replica
properties:
name: example-mc-geo
resourceGroupName: ${example.name}
location: Central US
sourceServerId: ${exampleMongoCluster.id}
sourceLocation: ${exampleMongoCluster.location}
createMode: GeoReplicaImport
MongoDB Clusters can be imported using the resource id, e.g.
$ pulumi import azure:cosmosdb/mongoCluster:MongoCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DocumentDB/mongoClusters/myMongoClusterProperties
The Password associated with the administrator_username for the MongoDB Cluster.
The administrator username of the MongoDB Cluster. Changing this forces a new resource to be created.
The compute tier to assign to the MongoDB Cluster. Possible values are Free, M10, M20, M25, M30, M40, M50, M60, M80, and M200.
The list of connection_strings blocks as defined below.
The creation mode for the MongoDB Cluster. Possibles values are Default and GeoReplica. Defaults to Default. Changing this forces a new resource to be created.
The high availability mode for the MongoDB Cluster. Possibles values are Disabled and ZoneRedundantPreferred.
The preview features that can be enabled on the MongoDB Cluster. Changing this forces a new resource to be created.
The Public Network Access setting for the MongoDB Cluster. Possibles values are Disabled and Enabled. Defaults to Enabled.
The name of the resource group in which to create the MongoDB Cluster. Changing this forces a new resource to be created.
The Number of shards to provision on the MongoDB Cluster. Changing this forces a new resource to be created.
The location of the source MongoDB Cluster. Changing this forces a new resource to be created.
The ID of the replication source MongoDB Cluster. Changing this forces a new resource to be created.
The size of the data disk space for the MongoDB Cluster.