Database Account Args
An Azure Cosmos DB database account. Azure REST API version: 2023-04-15. Prior API version in Azure Native 1.x: 2021-03-15. Other available API versions: 2020-03-01, 2020-06-01-preview, 2020-09-01, 2021-04-01-preview, 2023-03-15-preview, 2023-09-15, 2023-09-15-preview.
Example Usage
CosmosDBDatabaseAccountCreateMin
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var databaseAccount = new AzureNative.DocumentDB.DatabaseAccount("databaseAccount", new()
{
AccountName = "ddb1",
CreateMode = "Default",
DatabaseAccountOfferType = AzureNative.DocumentDB.DatabaseAccountOfferType.Standard,
Location = "westus",
Locations = new[]
{
new AzureNative.DocumentDB.Inputs.LocationArgs
{
FailoverPriority = 0,
IsZoneRedundant = false,
LocationName = "southcentralus",
},
},
ResourceGroupName = "rg1",
});
});
package main
import (
"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.NewDatabaseAccount(ctx, "databaseAccount", &documentdb.DatabaseAccountArgs{
AccountName: pulumi.String("ddb1"),
CreateMode: pulumi.String("Default"),
DatabaseAccountOfferType: documentdb.DatabaseAccountOfferTypeStandard,
Location: pulumi.String("westus"),
Locations: []documentdb.LocationArgs{
{
FailoverPriority: pulumi.Int(0),
IsZoneRedundant: pulumi.Bool(false),
LocationName: pulumi.String("southcentralus"),
},
},
ResourceGroupName: pulumi.String("rg1"),
})
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.DatabaseAccount;
import com.pulumi.azurenative.documentdb.DatabaseAccountArgs;
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 databaseAccount = new DatabaseAccount("databaseAccount", DatabaseAccountArgs.builder()
.accountName("ddb1")
.createMode("Default")
.databaseAccountOfferType("Standard")
.location("westus")
.locations(Map.ofEntries(
Map.entry("failoverPriority", 0),
Map.entry("isZoneRedundant", false),
Map.entry("locationName", "southcentralus")
))
.resourceGroupName("rg1")
.build());
}
}
CosmosDBRestoreDatabaseAccountCreateUpdate.json
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var databaseAccount = new AzureNative.DocumentDB.DatabaseAccount("databaseAccount", new()
{
AccountName = "ddb1",
ApiProperties = new AzureNative.DocumentDB.Inputs.ApiPropertiesArgs
{
ServerVersion = "3.2",
},
BackupPolicy = new AzureNative.DocumentDB.Inputs.ContinuousModeBackupPolicyArgs
{
ContinuousModeProperties = new AzureNative.DocumentDB.Inputs.ContinuousModePropertiesArgs
{
Tier = "Continuous30Days",
},
Type = "Continuous",
},
ConsistencyPolicy = new AzureNative.DocumentDB.Inputs.ConsistencyPolicyArgs
{
DefaultConsistencyLevel = AzureNative.DocumentDB.DefaultConsistencyLevel.BoundedStaleness,
MaxIntervalInSeconds = 10,
MaxStalenessPrefix = 200,
},
CreateMode = "Restore",
DatabaseAccountOfferType = AzureNative.DocumentDB.DatabaseAccountOfferType.Standard,
EnableAnalyticalStorage = true,
EnableFreeTier = false,
KeyVaultKeyUri = "https://myKeyVault.vault.azure.net",
Kind = "GlobalDocumentDB",
Location = "westus",
Locations = new[]
{
new AzureNative.DocumentDB.Inputs.LocationArgs
{
FailoverPriority = 0,
IsZoneRedundant = false,
LocationName = "southcentralus",
},
},
MinimalTlsVersion = "Tls",
ResourceGroupName = "rg1",
RestoreParameters = new AzureNative.DocumentDB.Inputs.RestoreParametersArgs
{
DatabasesToRestore = new[]
{
new AzureNative.DocumentDB.Inputs.DatabaseRestoreResourceArgs
{
CollectionNames = new[]
{
"collection1",
"collection2",
},
DatabaseName = "db1",
},
new AzureNative.DocumentDB.Inputs.DatabaseRestoreResourceArgs
{
CollectionNames = new[]
{
"collection3",
"collection4",
},
DatabaseName = "db2",
},
},
RestoreMode = "PointInTime",
RestoreSource = "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc",
RestoreTimestampInUtc = "2021-03-11T22:05:09Z",
},
Tags = null,
});
});
package main
import (
"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.NewDatabaseAccount(ctx, "databaseAccount", &documentdb.DatabaseAccountArgs{
AccountName: pulumi.String("ddb1"),
ApiProperties: &documentdb.ApiPropertiesArgs{
ServerVersion: pulumi.String("3.2"),
},
BackupPolicy: documentdb.ContinuousModeBackupPolicy{
ContinuousModeProperties: documentdb.ContinuousModeProperties{
Tier: "Continuous30Days",
},
Type: "Continuous",
},
ConsistencyPolicy: &documentdb.ConsistencyPolicyArgs{
DefaultConsistencyLevel: documentdb.DefaultConsistencyLevelBoundedStaleness,
MaxIntervalInSeconds: pulumi.Int(10),
MaxStalenessPrefix: pulumi.Float64(200),
},
CreateMode: pulumi.String("Restore"),
DatabaseAccountOfferType: documentdb.DatabaseAccountOfferTypeStandard,
EnableAnalyticalStorage: pulumi.Bool(true),
EnableFreeTier: pulumi.Bool(false),
KeyVaultKeyUri: pulumi.String("https://myKeyVault.vault.azure.net"),
Kind: pulumi.String("GlobalDocumentDB"),
Location: pulumi.String("westus"),
Locations: []documentdb.LocationArgs{
{
FailoverPriority: pulumi.Int(0),
IsZoneRedundant: pulumi.Bool(false),
LocationName: pulumi.String("southcentralus"),
},
},
MinimalTlsVersion: pulumi.String("Tls"),
ResourceGroupName: pulumi.String("rg1"),
RestoreParameters: documentdb.RestoreParametersResponse{
DatabasesToRestore: documentdb.DatabaseRestoreResourceArray{
&documentdb.DatabaseRestoreResourceArgs{
CollectionNames: pulumi.StringArray{
pulumi.String("collection1"),
pulumi.String("collection2"),
},
DatabaseName: pulumi.String("db1"),
},
&documentdb.DatabaseRestoreResourceArgs{
CollectionNames: pulumi.StringArray{
pulumi.String("collection3"),
pulumi.String("collection4"),
},
DatabaseName: pulumi.String("db2"),
},
},
RestoreMode: pulumi.String("PointInTime"),
RestoreSource: pulumi.String("/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc"),
RestoreTimestampInUtc: pulumi.String("2021-03-11T22:05:09Z"),
},
Tags: nil,
})
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.DatabaseAccount;
import com.pulumi.azurenative.documentdb.DatabaseAccountArgs;
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 databaseAccount = new DatabaseAccount("databaseAccount", DatabaseAccountArgs.builder()
.accountName("ddb1")
.apiProperties(Map.of("serverVersion", "3.2"))
.backupPolicy(Map.ofEntries(
Map.entry("continuousModeProperties", Map.of("tier", "Continuous30Days")),
Map.entry("type", "Continuous")
))
.consistencyPolicy(Map.ofEntries(
Map.entry("defaultConsistencyLevel", "BoundedStaleness"),
Map.entry("maxIntervalInSeconds", 10),
Map.entry("maxStalenessPrefix", 200)
))
.createMode("Restore")
.databaseAccountOfferType("Standard")
.enableAnalyticalStorage(true)
.enableFreeTier(false)
.keyVaultKeyUri("https://myKeyVault.vault.azure.net")
.kind("GlobalDocumentDB")
.location("westus")
.locations(Map.ofEntries(
Map.entry("failoverPriority", 0),
Map.entry("isZoneRedundant", false),
Map.entry("locationName", "southcentralus")
))
.minimalTlsVersion("Tls")
.resourceGroupName("rg1")
.restoreParameters(Map.ofEntries(
Map.entry("databasesToRestore",
Map.ofEntries(
Map.entry("collectionNames",
"collection1",
"collection2"),
Map.entry("databaseName", "db1")
),
Map.ofEntries(
Map.entry("collectionNames",
"collection3",
"collection4"),
Map.entry("databaseName", "db2")
)),
Map.entry("restoreMode", "PointInTime"),
Map.entry("restoreSource", "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc"),
Map.entry("restoreTimestampInUtc", "2021-03-11T22:05:09Z")
))
.tags()
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:documentdb:DatabaseAccount ddb1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}
Constructors
Functions
Properties
Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB".