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",
resourceGroupName: example.name,
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",
resource_group_name=example.name,
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",
ResourceGroupName = example.Name,
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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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"),
ResourceGroupName: example.Name,
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")
.resourceGroupName(example.name())
.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
resourceGroupName: ${example.name}
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 name of the Resource Group where the Redis Enterprise Database should exist. Changing this forces a new Redis Enterprise Database to be created.
The Secondary Access Key for the Redis Enterprise Database Instance.