Database Account
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}
Properties
The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed.
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".