Database Args
data class DatabaseArgs(val clientProtocol: Output<Either<String, Protocol>>? = null, val clusterName: Output<String>? = null, val clusteringPolicy: Output<Either<String, ClusteringPolicy>>? = null, val databaseName: Output<String>? = null, val evictionPolicy: Output<Either<String, EvictionPolicy>>? = null, val geoReplication: Output<DatabasePropertiesGeoReplicationArgs>? = null, val modules: Output<List<ModuleArgs>>? = null, val persistence: Output<PersistenceArgs>? = null, val port: Output<Int>? = null, val resourceGroupName: Output<String>? = null) : ConvertibleToJava<DatabaseArgs>
Describes a database on the RedisEnterprise cluster Azure REST API version: 2023-03-01-preview. Prior API version in Azure Native 1.x: 2021-03-01. Other available API versions: 2023-07-01, 2023-08-01-preview, 2023-10-01-preview.
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 = "Encrypted",
ClusterName = "cache1",
ClusteringPolicy = "EnterpriseCluster",
DatabaseName = "default",
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 = "1s",
},
Port = 10000,
ResourceGroupName = "rg1",
});
});
Content copied to clipboard
package main
import (
"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("Encrypted"),
ClusterName: pulumi.String("cache1"),
ClusteringPolicy: pulumi.String("EnterpriseCluster"),
DatabaseName: pulumi.String("default"),
EvictionPolicy: pulumi.String("AllKeysLRU"),
Modules: []cache.ModuleArgs{
{
Args: pulumi.String("ERROR_RATE 0.00 INITIAL_SIZE 400"),
Name: pulumi.String("RedisBloom"),
},
{
Args: pulumi.String("RETENTION_POLICY 20"),
Name: pulumi.String("RedisTimeSeries"),
},
{
Name: pulumi.String("RediSearch"),
},
},
Persistence: &cache.PersistenceArgs{
AofEnabled: pulumi.Bool(true),
AofFrequency: pulumi.String("1s"),
},
Port: pulumi.Int(10000),
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.cache.Database;
import com.pulumi.azurenative.cache.DatabaseArgs;
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(
Map.ofEntries(
Map.entry("args", "ERROR_RATE 0.00 INITIAL_SIZE 400"),
Map.entry("name", "RedisBloom")
),
Map.ofEntries(
Map.entry("args", "RETENTION_POLICY 20"),
Map.entry("name", "RedisTimeSeries")
),
Map.of("name", "RediSearch"))
.persistence(Map.ofEntries(
Map.entry("aofEnabled", true),
Map.entry("aofFrequency", "1s")
))
.port(10000)
.resourceGroupName("rg1")
.build());
}
}
Content copied to clipboard
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 = "Encrypted",
ClusterName = "cache1",
ClusteringPolicy = "EnterpriseCluster",
DatabaseName = "default",
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",
});
});
Content copied to clipboard
package main
import (
"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("Encrypted"),
ClusterName: pulumi.String("cache1"),
ClusteringPolicy: pulumi.String("EnterpriseCluster"),
DatabaseName: pulumi.String("default"),
EvictionPolicy: pulumi.String("NoEviction"),
GeoReplication: cache.DatabasePropertiesResponseGeoReplication{
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
})
}
Content copied to clipboard
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 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(Map.ofEntries(
Map.entry("groupNickname", "groupName"),
Map.entry("linkedDatabases",
Map.of("id", "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default"),
Map.of("id", "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default"))
))
.port(10000)
.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:cache:Database cache1/default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}
Content copied to clipboard
Constructors
Link copied to clipboard
fun DatabaseArgs(clientProtocol: Output<Either<String, Protocol>>? = null, clusterName: Output<String>? = null, clusteringPolicy: Output<Either<String, ClusteringPolicy>>? = null, databaseName: Output<String>? = null, evictionPolicy: Output<Either<String, EvictionPolicy>>? = null, geoReplication: Output<DatabasePropertiesGeoReplicationArgs>? = null, modules: Output<List<ModuleArgs>>? = null, persistence: Output<PersistenceArgs>? = null, port: Output<Int>? = null, resourceGroupName: Output<String>? = null)