Database

class Database : KotlinCustomResource

Describes a database on the RedisEnterprise cluster Uses Azure REST API version 2023-03-01-preview. In version 1.x of the Azure Native provider, it used API version 2021-03-01. Other available API versions: 2023-07-01, 2023-08-01-preview, 2023-10-01-preview, 2023-11-01, 2024-02-01, 2024-03-01-preview, 2024-06-01-preview, 2024-09-01-preview, 2024-10-01, 2025-04-01.

Example Usage

RedisEnterpriseDatabasesCreate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var database = new AzureNative.Cache.Database("database", new()
{
ClientProtocol = AzureNative.Cache.Protocol.Encrypted,
ClusterName = "cache1",
ClusteringPolicy = AzureNative.Cache.ClusteringPolicy.EnterpriseCluster,
DatabaseName = "default",
EvictionPolicy = AzureNative.Cache.EvictionPolicy.AllKeysLRU,
Modules = new[]
{
new AzureNative.Cache.Inputs.ModuleArgs
{
Args = "ERROR_RATE 0.00 INITIAL_SIZE 400",
Name = "RedisBloom",
},
new AzureNative.Cache.Inputs.ModuleArgs
{
Args = "RETENTION_POLICY 20",
Name = "RedisTimeSeries",
},
new AzureNative.Cache.Inputs.ModuleArgs
{
Name = "RediSearch",
},
},
Persistence = new AzureNative.Cache.Inputs.PersistenceArgs
{
AofEnabled = true,
AofFrequency = AzureNative.Cache.AofFrequency.AofFrequency_1s,
},
Port = 10000,
ResourceGroupName = "rg1",
});
});
package main
import (
cache "github.com/pulumi/pulumi-azure-native-sdk/cache/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cache.NewDatabase(ctx, "database", &cache.DatabaseArgs{
ClientProtocol: pulumi.String(cache.ProtocolEncrypted),
ClusterName: pulumi.String("cache1"),
ClusteringPolicy: pulumi.String(cache.ClusteringPolicyEnterpriseCluster),
DatabaseName: pulumi.String("default"),
EvictionPolicy: pulumi.String(cache.EvictionPolicyAllKeysLRU),
Modules: cache.ModuleArray{
&cache.ModuleArgs{
Args: pulumi.String("ERROR_RATE 0.00 INITIAL_SIZE 400"),
Name: pulumi.String("RedisBloom"),
},
&cache.ModuleArgs{
Args: pulumi.String("RETENTION_POLICY 20"),
Name: pulumi.String("RedisTimeSeries"),
},
&cache.ModuleArgs{
Name: pulumi.String("RediSearch"),
},
},
Persistence: &cache.PersistenceArgs{
AofEnabled: pulumi.Bool(true),
AofFrequency: pulumi.String(cache.AofFrequency_1s),
},
Port: pulumi.Int(10000),
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.cache.Database;
import com.pulumi.azurenative.cache.DatabaseArgs;
import com.pulumi.azurenative.cache.inputs.ModuleArgs;
import com.pulumi.azurenative.cache.inputs.PersistenceArgs;
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 database = new Database("database", DatabaseArgs.builder()
.clientProtocol("Encrypted")
.clusterName("cache1")
.clusteringPolicy("EnterpriseCluster")
.databaseName("default")
.evictionPolicy("AllKeysLRU")
.modules(
ModuleArgs.builder()
.args("ERROR_RATE 0.00 INITIAL_SIZE 400")
.name("RedisBloom")
.build(),
ModuleArgs.builder()
.args("RETENTION_POLICY 20")
.name("RedisTimeSeries")
.build(),
ModuleArgs.builder()
.name("RediSearch")
.build())
.persistence(PersistenceArgs.builder()
.aofEnabled(true)
.aofFrequency("1s")
.build())
.port(10000)
.resourceGroupName("rg1")
.build());
}
}

RedisEnterpriseDatabasesCreate With Active Geo Replication

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var database = new AzureNative.Cache.Database("database", new()
{
ClientProtocol = AzureNative.Cache.Protocol.Encrypted,
ClusterName = "cache1",
ClusteringPolicy = AzureNative.Cache.ClusteringPolicy.EnterpriseCluster,
DatabaseName = "default",
EvictionPolicy = AzureNative.Cache.EvictionPolicy.NoEviction,
GeoReplication = new AzureNative.Cache.Inputs.DatabasePropertiesGeoReplicationArgs
{
GroupNickname = "groupName",
LinkedDatabases = new[]
{
new AzureNative.Cache.Inputs.LinkedDatabaseArgs
{
Id = "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default",
},
new AzureNative.Cache.Inputs.LinkedDatabaseArgs
{
Id = "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default",
},
},
},
Port = 10000,
ResourceGroupName = "rg1",
});
});
package main
import (
cache "github.com/pulumi/pulumi-azure-native-sdk/cache/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cache.NewDatabase(ctx, "database", &cache.DatabaseArgs{
ClientProtocol: pulumi.String(cache.ProtocolEncrypted),
ClusterName: pulumi.String("cache1"),
ClusteringPolicy: pulumi.String(cache.ClusteringPolicyEnterpriseCluster),
DatabaseName: pulumi.String("default"),
EvictionPolicy: pulumi.String(cache.EvictionPolicyNoEviction),
GeoReplication: &cache.DatabasePropertiesGeoReplicationArgs{
GroupNickname: pulumi.String("groupName"),
LinkedDatabases: cache.LinkedDatabaseArray{
&cache.LinkedDatabaseArgs{
Id: pulumi.String("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default"),
},
&cache.LinkedDatabaseArgs{
Id: pulumi.String("/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default"),
},
},
},
Port: pulumi.Int(10000),
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.cache.Database;
import com.pulumi.azurenative.cache.DatabaseArgs;
import com.pulumi.azurenative.cache.inputs.DatabasePropertiesGeoReplicationArgs;
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 database = new Database("database", DatabaseArgs.builder()
.clientProtocol("Encrypted")
.clusterName("cache1")
.clusteringPolicy("EnterpriseCluster")
.databaseName("default")
.evictionPolicy("NoEviction")
.geoReplication(DatabasePropertiesGeoReplicationArgs.builder()
.groupNickname("groupName")
.linkedDatabases(
LinkedDatabaseArgs.builder()
.id("/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default")
.build(),
LinkedDatabaseArgs.builder()
.id("/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default")
.build())
.build())
.port(10000)
.resourceGroupName("rg1")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:cache:Database cache1/default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}

Properties

Link copied to clipboard
val clientProtocol: Output<String>?

Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.

Link copied to clipboard
val clusteringPolicy: Output<String>?

Clustering policy - default is OSSCluster. Specified at create time.

Link copied to clipboard
val evictionPolicy: Output<String>?

Redis eviction policy - default is VolatileLRU

Link copied to clipboard

Optional set of properties to configure geo replication for this database.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val modules: Output<List<ModuleResponse>>?

Optional set of redis modules to enable in this database - modules can only be added at creation time.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard

Persistence settings

Link copied to clipboard
val port: Output<Int>?

TCP port of the database endpoint. Specified at create time. Defaults to an available port.

Link copied to clipboard

Current provisioning status of the database

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceState: Output<String>

Current resource status of the database

Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>