Enterprise Database
Manages a Redis Enterprise Database.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-redisenterprise",
location: "West Europe",
});
const exampleEnterpriseCluster = new azure.redis.EnterpriseCluster("example", {
name: "example-redisenterprise",
resourceGroupName: example.name,
location: example.location,
skuName: "Enterprise_E20-4",
});
const example1 = new azure.redis.EnterpriseCluster("example1", {
name: "example-redisenterprise1",
resourceGroupName: example.name,
location: example.location,
skuName: "Enterprise_E20-4",
});
const exampleEnterpriseDatabase = new azure.redis.EnterpriseDatabase("example", {
name: "default",
clusterId: exampleEnterpriseCluster.id,
clientProtocol: "Encrypted",
clusteringPolicy: "EnterpriseCluster",
evictionPolicy: "NoEviction",
port: 10000,
linkedDatabaseIds: [
pulumi.interpolate`${exampleEnterpriseCluster.id}/databases/default`,
pulumi.interpolate`${example1.id}/databases/default`,
],
linkedDatabaseGroupNickname: "tftestGeoGroup",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-redisenterprise",
location="West Europe")
example_enterprise_cluster = azure.redis.EnterpriseCluster("example",
name="example-redisenterprise",
resource_group_name=example.name,
location=example.location,
sku_name="Enterprise_E20-4")
example1 = azure.redis.EnterpriseCluster("example1",
name="example-redisenterprise1",
resource_group_name=example.name,
location=example.location,
sku_name="Enterprise_E20-4")
example_enterprise_database = azure.redis.EnterpriseDatabase("example",
name="default",
cluster_id=example_enterprise_cluster.id,
client_protocol="Encrypted",
clustering_policy="EnterpriseCluster",
eviction_policy="NoEviction",
port=10000,
linked_database_ids=[
example_enterprise_cluster.id.apply(lambda id: f"{id}/databases/default"),
example1.id.apply(lambda id: f"{id}/databases/default"),
],
linked_database_group_nickname="tftestGeoGroup")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-redisenterprise",
Location = "West Europe",
});
var exampleEnterpriseCluster = new Azure.Redis.EnterpriseCluster("example", new()
{
Name = "example-redisenterprise",
ResourceGroupName = example.Name,
Location = example.Location,
SkuName = "Enterprise_E20-4",
});
var example1 = new Azure.Redis.EnterpriseCluster("example1", new()
{
Name = "example-redisenterprise1",
ResourceGroupName = example.Name,
Location = example.Location,
SkuName = "Enterprise_E20-4",
});
var exampleEnterpriseDatabase = new Azure.Redis.EnterpriseDatabase("example", new()
{
Name = "default",
ClusterId = exampleEnterpriseCluster.Id,
ClientProtocol = "Encrypted",
ClusteringPolicy = "EnterpriseCluster",
EvictionPolicy = "NoEviction",
Port = 10000,
LinkedDatabaseIds = new[]
{
exampleEnterpriseCluster.Id.Apply(id => $"{id}/databases/default"),
example1.Id.Apply(id => $"{id}/databases/default"),
},
LinkedDatabaseGroupNickname = "tftestGeoGroup",
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-redisenterprise"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleEnterpriseCluster, err := redis.NewEnterpriseCluster(ctx, "example", &redis.EnterpriseClusterArgs{
Name: pulumi.String("example-redisenterprise"),
ResourceGroupName: example.Name,
Location: example.Location,
SkuName: pulumi.String("Enterprise_E20-4"),
})
if err != nil {
return err
}
example1, err := redis.NewEnterpriseCluster(ctx, "example1", &redis.EnterpriseClusterArgs{
Name: pulumi.String("example-redisenterprise1"),
ResourceGroupName: example.Name,
Location: example.Location,
SkuName: pulumi.String("Enterprise_E20-4"),
})
if err != nil {
return err
}
_, err = redis.NewEnterpriseDatabase(ctx, "example", &redis.EnterpriseDatabaseArgs{
Name: pulumi.String("default"),
ClusterId: exampleEnterpriseCluster.ID(),
ClientProtocol: pulumi.String("Encrypted"),
ClusteringPolicy: pulumi.String("EnterpriseCluster"),
EvictionPolicy: pulumi.String("NoEviction"),
Port: pulumi.Int(10000),
LinkedDatabaseIds: pulumi.StringArray{
exampleEnterpriseCluster.ID().ApplyT(func(id string) (string, error) {
return fmt.Sprintf("%v/databases/default", id), nil
}).(pulumi.StringOutput),
example1.ID().ApplyT(func(id string) (string, error) {
return fmt.Sprintf("%v/databases/default", id), nil
}).(pulumi.StringOutput),
},
LinkedDatabaseGroupNickname: pulumi.String("tftestGeoGroup"),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.redis.EnterpriseCluster;
import com.pulumi.azure.redis.EnterpriseClusterArgs;
import com.pulumi.azure.redis.EnterpriseDatabase;
import com.pulumi.azure.redis.EnterpriseDatabaseArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-redisenterprise")
.location("West Europe")
.build());
var exampleEnterpriseCluster = new EnterpriseCluster("exampleEnterpriseCluster", EnterpriseClusterArgs.builder()
.name("example-redisenterprise")
.resourceGroupName(example.name())
.location(example.location())
.skuName("Enterprise_E20-4")
.build());
var example1 = new EnterpriseCluster("example1", EnterpriseClusterArgs.builder()
.name("example-redisenterprise1")
.resourceGroupName(example.name())
.location(example.location())
.skuName("Enterprise_E20-4")
.build());
var exampleEnterpriseDatabase = new EnterpriseDatabase("exampleEnterpriseDatabase", EnterpriseDatabaseArgs.builder()
.name("default")
.clusterId(exampleEnterpriseCluster.id())
.clientProtocol("Encrypted")
.clusteringPolicy("EnterpriseCluster")
.evictionPolicy("NoEviction")
.port(10000)
.linkedDatabaseIds(
exampleEnterpriseCluster.id().applyValue(id -> String.format("%s/databases/default", id)),
example1.id().applyValue(id -> String.format("%s/databases/default", id)))
.linkedDatabaseGroupNickname("tftestGeoGroup")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-redisenterprise
location: West Europe
exampleEnterpriseCluster:
type: azure:redis:EnterpriseCluster
name: example
properties:
name: example-redisenterprise
resourceGroupName: ${example.name}
location: ${example.location}
skuName: Enterprise_E20-4
example1:
type: azure:redis:EnterpriseCluster
properties:
name: example-redisenterprise1
resourceGroupName: ${example.name}
location: ${example.location}
skuName: Enterprise_E20-4
exampleEnterpriseDatabase:
type: azure:redis:EnterpriseDatabase
name: example
properties:
name: default
clusterId: ${exampleEnterpriseCluster.id}
clientProtocol: Encrypted
clusteringPolicy: EnterpriseCluster
evictionPolicy: NoEviction
port: 10000
linkedDatabaseIds:
- ${exampleEnterpriseCluster.id}/databases/default
- ${example1.id}/databases/default
linkedDatabaseGroupNickname: tftestGeoGroup
Import
Redis Enterprise Databases can be imported using the resource id
, e.g.
$ pulumi import azure:redis/enterpriseDatabase:EnterpriseDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1/databases/database1
Properties
Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are Encrypted
and Plaintext
. Defaults to Encrypted
. Changing this forces a new Redis Enterprise Database to be created.
Clustering policy Specified at create time. Possible values are EnterpriseCluster
and OSSCluster
. Defaults to OSSCluster
. Changing this forces a new Redis Enterprise Database to be created.
Redis eviction policy possible values are AllKeysLFU
, AllKeysLRU
, AllKeysRandom
, VolatileLRU
, VolatileLFU
, VolatileTTL
, VolatileRandom
and NoEviction
. Changing this forces a new Redis Enterprise Database to be created. Defaults to VolatileLRU
.
Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.
A list of database resources to link with this database with a maximum of 5.
A module
block as defined below. Changing this forces a new resource to be created.
The Primary Access Key for the Redis Enterprise Database Instance.
The Secondary Access Key for the Redis Enterprise Database Instance.