Database Account Args
An Azure Cosmos DB database account. Uses Azure REST API version 2023-04-15. In version 1.x of the Azure Native provider, it used API version 2021-03-15. Other available API versions: 2021-04-01-preview, 2023-03-15-preview, 2023-09-15, 2023-09-15-preview, 2023-11-15, 2023-11-15-preview, 2024-02-15-preview, 2024-05-15, 2024-05-15-preview, 2024-08-15, 2024-09-01-preview, 2024-11-15, 2024-12-01-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 = AzureNative.DocumentDB.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 (
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.NewDatabaseAccount(ctx, "databaseAccount", &documentdb.DatabaseAccountArgs{
AccountName: pulumi.String("ddb1"),
CreateMode: pulumi.String(documentdb.CreateModeDefault),
DatabaseAccountOfferType: documentdb.DatabaseAccountOfferTypeStandard,
Location: pulumi.String("westus"),
Locations: documentdb.LocationArray{
&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 com.pulumi.azurenative.documentdb.inputs.LocationArgs;
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(LocationArgs.builder()
.failoverPriority(0)
.isZoneRedundant(false)
.locationName("southcentralus")
.build())
.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 = AzureNative.DocumentDB.ServerVersion.ServerVersion_3_2,
},
BackupPolicy = new AzureNative.DocumentDB.Inputs.ContinuousModeBackupPolicyArgs
{
ContinuousModeProperties = new AzureNative.DocumentDB.Inputs.ContinuousModePropertiesArgs
{
Tier = AzureNative.DocumentDB.ContinuousTier.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 = AzureNative.DocumentDB.DatabaseAccountKind.GlobalDocumentDB,
Location = "westus",
Locations = new[]
{
new AzureNative.DocumentDB.Inputs.LocationArgs
{
FailoverPriority = 0,
IsZoneRedundant = false,
LocationName = "southcentralus",
},
},
MinimalTlsVersion = AzureNative.DocumentDB.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 = AzureNative.DocumentDB.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 (
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.NewDatabaseAccount(ctx, "databaseAccount", &documentdb.DatabaseAccountArgs{
AccountName: pulumi.String("ddb1"),
ApiProperties: &documentdb.ApiPropertiesArgs{
ServerVersion: pulumi.String(documentdb.ServerVersion_3_2),
},
BackupPolicy: &documentdb.ContinuousModeBackupPolicyArgs{
ContinuousModeProperties: &documentdb.ContinuousModePropertiesArgs{
Tier: pulumi.String(documentdb.ContinuousTierContinuous30Days),
},
Type: pulumi.String("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(documentdb.DatabaseAccountKindGlobalDocumentDB),
Location: pulumi.String("westus"),
Locations: documentdb.LocationArray{
&documentdb.LocationArgs{
FailoverPriority: pulumi.Int(0),
IsZoneRedundant: pulumi.Bool(false),
LocationName: pulumi.String("southcentralus"),
},
},
MinimalTlsVersion: pulumi.String(documentdb.MinimalTlsVersionTls),
ResourceGroupName: pulumi.String("rg1"),
RestoreParameters: &documentdb.RestoreParametersArgs{
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(documentdb.RestoreModePointInTime),
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: pulumi.StringMap{},
})
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 com.pulumi.azurenative.documentdb.inputs.ApiPropertiesArgs;
import com.pulumi.azurenative.documentdb.inputs.ConsistencyPolicyArgs;
import com.pulumi.azurenative.documentdb.inputs.LocationArgs;
import com.pulumi.azurenative.documentdb.inputs.RestoreParametersArgs;
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(ApiPropertiesArgs.builder()
.serverVersion("3.2")
.build())
.backupPolicy(ContinuousModeBackupPolicyArgs.builder()
.continuousModeProperties(ContinuousModePropertiesArgs.builder()
.tier("Continuous30Days")
.build())
.type("Continuous")
.build())
.consistencyPolicy(ConsistencyPolicyArgs.builder()
.defaultConsistencyLevel("BoundedStaleness")
.maxIntervalInSeconds(10)
.maxStalenessPrefix(200)
.build())
.createMode("Restore")
.databaseAccountOfferType("Standard")
.enableAnalyticalStorage(true)
.enableFreeTier(false)
.keyVaultKeyUri("https://myKeyVault.vault.azure.net")
.kind("GlobalDocumentDB")
.location("westus")
.locations(LocationArgs.builder()
.failoverPriority(0)
.isZoneRedundant(false)
.locationName("southcentralus")
.build())
.minimalTlsVersion("Tls")
.resourceGroupName("rg1")
.restoreParameters(RestoreParametersArgs.builder()
.databasesToRestore(
DatabaseRestoreResourceArgs.builder()
.collectionNames(
"collection1",
"collection2")
.databaseName("db1")
.build(),
DatabaseRestoreResourceArgs.builder()
.collectionNames(
"collection3",
"collection4")
.databaseName("db2")
.build())
.restoreMode("PointInTime")
.restoreSource("/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc")
.restoreTimestampInUtc("2021-03-11T22:05:09Z")
.build())
.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
Properties
Cosmos DB database account name.
Analytical storage specific properties.
API specific properties. Currently, supported only for MongoDB API.
The object representing the policy for taking backups on an account.
List of Cosmos DB capabilities for the account
The object that represents all properties related to capacity enforcement on an account.
The cassandra connector offer type for the Cosmos DB database C* account.
The consistency policy for the Cosmos DB account.
The CORS policy for the Cosmos DB database account.
Enum to indicate the mode of account creation.
The offer type for the database
The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more.
Disable write operations on metadata resources (databases, containers, throughput) via account keys
Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
Flag to indicate whether to enable storage analytics.
Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.
Enables the cassandra connector on the Cosmos DB C* account
Flag to indicate whether Free Tier is enabled.
Enables the account to write in multiple locations
Flag to indicate enabling/disabling of Partition Merge feature on the account
Identity for the resource.
List of IpRules.
Flag to indicate whether to enable/disable Virtual Network ACL rules.
The URI of the key vault
Indicates the type of database account. This can only be set at database account creation.
An array that contains the georeplication locations enabled for the Cosmos DB account.
Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.
Indicates what services are allowed to bypass firewall checks.
An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.
Whether requests from Public Network are allowed
The name of the resource group. The name is case insensitive.
Parameters to indicate the information about the restore.
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".
List of Virtual Network ACL rules configured for the Cosmos DB account.