Database Account Args
data class DatabaseAccountArgs(val accountName: Output<String>? = null, val apiProperties: Output<ApiPropertiesArgs>? = null, val backupPolicy: Output<Either<ContinuousModeBackupPolicyArgs, PeriodicModeBackupPolicyArgs>>? = null, val capabilities: Output<List<CapabilityArgs>>? = null, val connectorOffer: Output<Either<String, ConnectorOffer>>? = null, val consistencyPolicy: Output<ConsistencyPolicyArgs>? = null, val cors: Output<List<CorsPolicyArgs>>? = null, val databaseAccountOfferType: Output<DatabaseAccountOfferType>? = null, val defaultIdentity: Output<String>? = null, val disableKeyBasedMetadataWriteAccess: 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 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 networkAclBypass: Output<NetworkAclBypass>? = null, val networkAclBypassResourceIds: Output<List<String>>? = null, val publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkRules: Output<List<VirtualNetworkRuleArgs>>? = null) : ConvertibleToJava<DatabaseAccountArgs>
An Azure Cosmos DB database account. API Version: 2021-03-15.
Example Usage
CosmosDBDatabaseAccountCreateMax
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.PeriodicModeBackupPolicyArgs
{
PeriodicModeProperties = new AzureNative.DocumentDB.Inputs.PeriodicModePropertiesArgs
{
BackupIntervalInMinutes = 240,
BackupRetentionIntervalInHours = 8,
},
Type = "Periodic",
},
ConsistencyPolicy = new AzureNative.DocumentDB.Inputs.ConsistencyPolicyArgs
{
DefaultConsistencyLevel = AzureNative.DocumentDB.DefaultConsistencyLevel.BoundedStaleness,
MaxIntervalInSeconds = 10,
MaxStalenessPrefix = 200,
},
Cors = new[]
{
new AzureNative.DocumentDB.Inputs.CorsPolicyArgs
{
AllowedOrigins = "https://test",
},
},
DatabaseAccountOfferType = AzureNative.DocumentDB.DatabaseAccountOfferType.Standard,
DefaultIdentity = "FirstPartyIdentity",
EnableAnalyticalStorage = true,
EnableFreeTier = false,
Identity = new AzureNative.DocumentDB.Inputs.ManagedServiceIdentityArgs
{
Type = AzureNative.DocumentDB.ResourceIdentityType.SystemAssigned_UserAssigned,
UserAssignedIdentities =
{
{ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", null },
},
},
IpRules = new[]
{
new AzureNative.DocumentDB.Inputs.IpAddressOrRangeArgs
{
IpAddressOrRange = "23.43.230.120",
},
new AzureNative.DocumentDB.Inputs.IpAddressOrRangeArgs
{
IpAddressOrRange = "110.12.240.0/12",
},
},
IsVirtualNetworkFilterEnabled = true,
KeyVaultKeyUri = "https://myKeyVault.vault.azure.net",
Kind = "MongoDB",
Location = "westus",
Locations = new[]
{
new AzureNative.DocumentDB.Inputs.LocationArgs
{
FailoverPriority = 0,
IsZoneRedundant = false,
LocationName = "southcentralus",
},
new AzureNative.DocumentDB.Inputs.LocationArgs
{
FailoverPriority = 1,
IsZoneRedundant = false,
LocationName = "eastus",
},
},
NetworkAclBypass = AzureNative.DocumentDB.NetworkAclBypass.AzureServices,
NetworkAclBypassResourceIds = new[]
{
"/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName",
},
PublicNetworkAccess = "Enabled",
ResourceGroupName = "rg1",
Tags = null,
VirtualNetworkRules = new[]
{
new AzureNative.DocumentDB.Inputs.VirtualNetworkRuleArgs
{
Id = "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
IgnoreMissingVNetServiceEndpoint = false,
},
},
});
});
Content copied to clipboard
package main
import (
documentdb "github.com/pulumi/pulumi-azure-native-sdk/documentdb"
"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.PeriodicModeBackupPolicy{
PeriodicModeProperties: documentdb.PeriodicModeProperties{
BackupIntervalInMinutes: 240,
BackupRetentionIntervalInHours: 8,
},
Type: "Periodic",
},
ConsistencyPolicy: &documentdb.ConsistencyPolicyArgs{
DefaultConsistencyLevel: documentdb.DefaultConsistencyLevelBoundedStaleness,
MaxIntervalInSeconds: pulumi.Int(10),
MaxStalenessPrefix: pulumi.Float64(200),
},
Cors: []documentdb.CorsPolicyArgs{
{
AllowedOrigins: pulumi.String("https://test"),
},
},
DatabaseAccountOfferType: documentdb.DatabaseAccountOfferTypeStandard,
DefaultIdentity: pulumi.String("FirstPartyIdentity"),
EnableAnalyticalStorage: pulumi.Bool(true),
EnableFreeTier: pulumi.Bool(false),
Identity: &documentdb.ManagedServiceIdentityArgs{
Type: documentdb.ResourceIdentityType_SystemAssigned_UserAssigned,
UserAssignedIdentities: pulumi.AnyMap{
"/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": nil,
},
},
IpRules: []documentdb.IpAddressOrRangeArgs{
{
IpAddressOrRange: pulumi.String("23.43.230.120"),
},
{
IpAddressOrRange: pulumi.String("110.12.240.0/12"),
},
},
IsVirtualNetworkFilterEnabled: pulumi.Bool(true),
KeyVaultKeyUri: pulumi.String("https://myKeyVault.vault.azure.net"),
Kind: pulumi.String("MongoDB"),
Location: pulumi.String("westus"),
Locations: []documentdb.LocationArgs{
{
FailoverPriority: pulumi.Int(0),
IsZoneRedundant: pulumi.Bool(false),
LocationName: pulumi.String("southcentralus"),
},
{
FailoverPriority: pulumi.Int(1),
IsZoneRedundant: pulumi.Bool(false),
LocationName: pulumi.String("eastus"),
},
},
NetworkAclBypass: documentdb.NetworkAclBypassAzureServices,
NetworkAclBypassResourceIds: pulumi.StringArray{
pulumi.String("/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"),
},
PublicNetworkAccess: pulumi.String("Enabled"),
ResourceGroupName: pulumi.String("rg1"),
Tags: nil,
VirtualNetworkRules: []documentdb.VirtualNetworkRuleArgs{
{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
IgnoreMissingVNetServiceEndpoint: pulumi.Bool(false),
},
},
})
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("periodicModeProperties", Map.ofEntries(
Map.entry("backupIntervalInMinutes", 240),
Map.entry("backupRetentionIntervalInHours", 8)
)),
Map.entry("type", "Periodic")
))
.consistencyPolicy(Map.ofEntries(
Map.entry("defaultConsistencyLevel", "BoundedStaleness"),
Map.entry("maxIntervalInSeconds", 10),
Map.entry("maxStalenessPrefix", 200)
))
.cors(Map.of("allowedOrigins", "https://test"))
.databaseAccountOfferType("Standard")
.defaultIdentity("FirstPartyIdentity")
.enableAnalyticalStorage(true)
.enableFreeTier(false)
.identity(Map.ofEntries(
Map.entry("type", "SystemAssigned,UserAssigned"),
Map.entry("userAssignedIdentities", Map.of("/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", ))
))
.ipRules(
Map.of("ipAddressOrRange", "23.43.230.120"),
Map.of("ipAddressOrRange", "110.12.240.0/12"))
.isVirtualNetworkFilterEnabled(true)
.keyVaultKeyUri("https://myKeyVault.vault.azure.net")
.kind("MongoDB")
.location("westus")
.locations(
Map.ofEntries(
Map.entry("failoverPriority", 0),
Map.entry("isZoneRedundant", false),
Map.entry("locationName", "southcentralus")
),
Map.ofEntries(
Map.entry("failoverPriority", 1),
Map.entry("isZoneRedundant", false),
Map.entry("locationName", "eastus")
))
.networkAclBypass("AzureServices")
.networkAclBypassResourceIds("/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName")
.publicNetworkAccess("Enabled")
.resourceGroupName("rg1")
.tags()
.virtualNetworkRules(Map.ofEntries(
Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
Map.entry("ignoreMissingVNetServiceEndpoint", false)
))
.build());
}
}
Content copied to clipboard
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",
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 (
documentdb "github.com/pulumi/pulumi-azure-native-sdk/documentdb"
"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"),
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")
.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
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:documentdb:DatabaseAccount ddb1 /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1
Content copied to clipboard
Constructors
Link copied to clipboard
fun DatabaseAccountArgs(accountName: Output<String>? = null, apiProperties: Output<ApiPropertiesArgs>? = null, backupPolicy: Output<Either<ContinuousModeBackupPolicyArgs, PeriodicModeBackupPolicyArgs>>? = null, capabilities: Output<List<CapabilityArgs>>? = null, connectorOffer: Output<Either<String, ConnectorOffer>>? = null, consistencyPolicy: Output<ConsistencyPolicyArgs>? = null, cors: Output<List<CorsPolicyArgs>>? = null, databaseAccountOfferType: Output<DatabaseAccountOfferType>? = null, defaultIdentity: Output<String>? = null, disableKeyBasedMetadataWriteAccess: Output<Boolean>? = null, enableAnalyticalStorage: Output<Boolean>? = null, enableAutomaticFailover: Output<Boolean>? = null, enableCassandraConnector: Output<Boolean>? = null, enableFreeTier: Output<Boolean>? = null, enableMultipleWriteLocations: 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, networkAclBypass: Output<NetworkAclBypass>? = null, networkAclBypassResourceIds: Output<List<String>>? = null, publicNetworkAccess: Output<Either<String, PublicNetworkAccess>>? = null, resourceGroupName: Output<String>? = 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".