Database Account Args
data class DatabaseAccountArgs(val accountName: Output<String>? = null, val analyticalStorageConfiguration: Output<AnalyticalStorageConfigurationArgs>? = null, val apiProperties: Output<ApiPropertiesArgs>? = null, val backupPolicy: Output<Either<ContinuousModeBackupPolicyArgs, PeriodicModeBackupPolicyArgs>>? = null, val capabilities: Output<List<CapabilityArgs>>? = null, val capacity: Output<CapacityArgs>? = null, val connectorOffer: Output<Either<String, ConnectorOffer>>? = null, val consistencyPolicy: Output<ConsistencyPolicyArgs>? = null, val cors: Output<List<CorsPolicyArgs>>? = null, val createMode: Output<Either<String, CreateMode>>? = null, val databaseAccountOfferType: Output<DatabaseAccountOfferType>? = null, val defaultIdentity: Output<String>? = null, val disableKeyBasedMetadataWriteAccess: Output<Boolean>? = null, val disableLocalAuth: Output<Boolean>? = null, val enableAnalyticalStorage: Output<Boolean>? = null, val enableAutomaticFailover: Output<Boolean>? = null, val enableCassandraConnector: Output<Boolean>? = null, val enableFreeTier: Output<Boolean>? = null, val enableMultipleWriteLocations: Output<Boolean>? = null, val enablePartitionMerge: Output<Boolean>? = null, val identity: Output<ManagedServiceIdentityArgs>? = null, val ipRules: Output<List<IpAddressOrRangeArgs>>? = null, val isVirtualNetworkFilterEnabled: Output<Boolean>? = null, val keyVaultKeyUri: Output<String>? = null, val kind: Output<Either<String, DatabaseAccountKind>>? = null, val location: Output<String>? = null, val locations: Output<List<LocationArgs>>? = null, val minimalTlsVersion: Output<Either<String, MinimalTlsVersion>>? = null, val networkAclBypass: Output<NetworkAclBypass>? = null, val networkAclBypassResourceIds: Output<List<String>>? = null, val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, val resourceGroupName: Output<String>? = null, val restoreParameters: Output<RestoreParametersArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkRules: Output<List<VirtualNetworkRuleArgs>>? = null) : ConvertibleToJava<DatabaseAccountArgs>
An Azure Cosmos DB database account. Azure REST API version: 2023-04-15. Prior API version in Azure Native 1.x: 2021-03-15
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",
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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,
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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}
Content copied to clipboard
Constructors
Link copied to clipboard
fun DatabaseAccountArgs(accountName: Output<String>? = null, analyticalStorageConfiguration: Output<AnalyticalStorageConfigurationArgs>? = null, apiProperties: Output<ApiPropertiesArgs>? = null, backupPolicy: Output<Either<ContinuousModeBackupPolicyArgs, PeriodicModeBackupPolicyArgs>>? = null, capabilities: Output<List<CapabilityArgs>>? = null, capacity: Output<CapacityArgs>? = null, connectorOffer: Output<Either<String, ConnectorOffer>>? = null, consistencyPolicy: Output<ConsistencyPolicyArgs>? = null, cors: Output<List<CorsPolicyArgs>>? = null, createMode: Output<Either<String, CreateMode>>? = null, databaseAccountOfferType: Output<DatabaseAccountOfferType>? = null, defaultIdentity: Output<String>? = null, disableKeyBasedMetadataWriteAccess: Output<Boolean>? = null, disableLocalAuth: Output<Boolean>? = null, enableAnalyticalStorage: Output<Boolean>? = null, enableAutomaticFailover: Output<Boolean>? = null, enableCassandraConnector: Output<Boolean>? = null, enableFreeTier: Output<Boolean>? = null, enableMultipleWriteLocations: Output<Boolean>? = null, enablePartitionMerge: Output<Boolean>? = null, identity: Output<ManagedServiceIdentityArgs>? = null, ipRules: Output<List<IpAddressOrRangeArgs>>? = null, isVirtualNetworkFilterEnabled: Output<Boolean>? = null, keyVaultKeyUri: Output<String>? = null, kind: Output<Either<String, DatabaseAccountKind>>? = null, location: Output<String>? = null, locations: Output<List<LocationArgs>>? = null, minimalTlsVersion: Output<Either<String, MinimalTlsVersion>>? = null, networkAclBypass: Output<NetworkAclBypass>? = null, networkAclBypassResourceIds: Output<List<String>>? = null, publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, resourceGroupName: Output<String>? = null, restoreParameters: Output<RestoreParametersArgs>? = null, tags: Output<Map<String, String>>? = null, virtualNetworkRules: Output<List<VirtualNetworkRuleArgs>>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
val backupPolicy: Output<Either<ContinuousModeBackupPolicyArgs, PeriodicModeBackupPolicyArgs>>? = null
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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".