aws.elasticache.ReplicationGroup
Explore with Pulumi AI
Provides an ElastiCache Replication Group resource.
For working with a Memcached cluster or a
single-node Redis instance (Cluster Mode Disabled),
see the aws.elasticache.Cluster resource.
Note: When you change an attribute, such as
engine_version, by default the ElastiCache API applies it in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use theapply_immediatelyflag to instruct the service to apply the change immediately. Usingapply_immediatelycan result in a brief downtime as servers reboots. See the AWS Documentation on Modifying an ElastiCache Cache Cluster for more information.
Note: Any attribute changes that re-create the resource will be applied immediately, regardless of the value of
apply_immediately.
Note: Be aware of the terminology collision around “cluster” for
aws.elasticache.ReplicationGroup. For example, it is possible to create a “Cluster Mode Disabled [Redis] Cluster”. With “Cluster Mode Enabled”, the data will be stored in shards (called “node groups”). See Redis Cluster Configuration for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with “.cluster.on”, for exampledefault.redis6.x.cluster.on.
Example Usage
Redis OSS/Valkey Cluster Mode Disabled
To create a single shard primary with single read replica:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.elasticache.ReplicationGroup("example", {
    automaticFailoverEnabled: true,
    preferredCacheClusterAzs: [
        "us-west-2a",
        "us-west-2b",
    ],
    replicationGroupId: "tf-rep-group-1",
    description: "example description",
    nodeType: "cache.m4.large",
    numCacheClusters: 2,
    parameterGroupName: "default.redis3.2",
    port: 6379,
});
import pulumi
import pulumi_aws as aws
example = aws.elasticache.ReplicationGroup("example",
    automatic_failover_enabled=True,
    preferred_cache_cluster_azs=[
        "us-west-2a",
        "us-west-2b",
    ],
    replication_group_id="tf-rep-group-1",
    description="example description",
    node_type="cache.m4.large",
    num_cache_clusters=2,
    parameter_group_name="default.redis3.2",
    port=6379)
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{
			AutomaticFailoverEnabled: pulumi.Bool(true),
			PreferredCacheClusterAzs: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
			},
			ReplicationGroupId: pulumi.String("tf-rep-group-1"),
			Description:        pulumi.String("example description"),
			NodeType:           pulumi.String("cache.m4.large"),
			NumCacheClusters:   pulumi.Int(2),
			ParameterGroupName: pulumi.String("default.redis3.2"),
			Port:               pulumi.Int(6379),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.ElastiCache.ReplicationGroup("example", new()
    {
        AutomaticFailoverEnabled = true,
        PreferredCacheClusterAzs = new[]
        {
            "us-west-2a",
            "us-west-2b",
        },
        ReplicationGroupId = "tf-rep-group-1",
        Description = "example description",
        NodeType = "cache.m4.large",
        NumCacheClusters = 2,
        ParameterGroupName = "default.redis3.2",
        Port = 6379,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
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 ReplicationGroup("example", ReplicationGroupArgs.builder()
            .automaticFailoverEnabled(true)
            .preferredCacheClusterAzs(            
                "us-west-2a",
                "us-west-2b")
            .replicationGroupId("tf-rep-group-1")
            .description("example description")
            .nodeType("cache.m4.large")
            .numCacheClusters(2)
            .parameterGroupName("default.redis3.2")
            .port(6379)
            .build());
    }
}
resources:
  example:
    type: aws:elasticache:ReplicationGroup
    properties:
      automaticFailoverEnabled: true
      preferredCacheClusterAzs:
        - us-west-2a
        - us-west-2b
      replicationGroupId: tf-rep-group-1
      description: example description
      nodeType: cache.m4.large
      numCacheClusters: 2
      parameterGroupName: default.redis3.2
      port: 6379
You have two options for adjusting the number of replicas:
- Adjusting num_cache_clustersdirectly. This will attempt to automatically add or remove replicas, but provides no granular control (e.g., preferred availability zone, cache cluster ID) for the added or removed replicas. This also currently expects cache cluster IDs in the form ofreplication_group_id-00#.
- Otherwise for fine grained control of the underlying cache clusters, they can be added or removed with the aws.elasticache.Clusterresource and itsreplication_group_idattribute. In this situation, you will need to utilizeignoreChangesto prevent perpetual differences with thenumber_cache_clusterattribute.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.elasticache.ReplicationGroup("example", {
    automaticFailoverEnabled: true,
    preferredCacheClusterAzs: [
        "us-west-2a",
        "us-west-2b",
    ],
    replicationGroupId: "tf-rep-group-1",
    description: "example description",
    nodeType: "cache.m4.large",
    numCacheClusters: 2,
    parameterGroupName: "default.redis3.2",
    port: 6379,
});
const replica: aws.elasticache.Cluster[] = [];
for (const range = {value: 0}; range.value < 1; range.value++) {
    replica.push(new aws.elasticache.Cluster(`replica-${range.value}`, {
        clusterId: `tf-rep-group-1-${range.value}`,
        replicationGroupId: example.id,
    }));
}
import pulumi
import pulumi_aws as aws
example = aws.elasticache.ReplicationGroup("example",
    automatic_failover_enabled=True,
    preferred_cache_cluster_azs=[
        "us-west-2a",
        "us-west-2b",
    ],
    replication_group_id="tf-rep-group-1",
    description="example description",
    node_type="cache.m4.large",
    num_cache_clusters=2,
    parameter_group_name="default.redis3.2",
    port=6379)
replica = []
for range in [{"value": i} for i in range(0, 1)]:
    replica.append(aws.elasticache.Cluster(f"replica-{range['value']}",
        cluster_id=f"tf-rep-group-1-{range['value']}",
        replication_group_id=example.id))
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{
			AutomaticFailoverEnabled: pulumi.Bool(true),
			PreferredCacheClusterAzs: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
			},
			ReplicationGroupId: pulumi.String("tf-rep-group-1"),
			Description:        pulumi.String("example description"),
			NodeType:           pulumi.String("cache.m4.large"),
			NumCacheClusters:   pulumi.Int(2),
			ParameterGroupName: pulumi.String("default.redis3.2"),
			Port:               pulumi.Int(6379),
		})
		if err != nil {
			return err
		}
		var replica []*elasticache.Cluster
		for index := 0; index < 1; index++ {
			key0 := index
			val0 := index
			__res, err := elasticache.NewCluster(ctx, fmt.Sprintf("replica-%v", key0), &elasticache.ClusterArgs{
				ClusterId:          pulumi.Sprintf("tf-rep-group-1-%v", val0),
				ReplicationGroupId: example.ID(),
			})
			if err != nil {
				return err
			}
			replica = append(replica, __res)
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.ElastiCache.ReplicationGroup("example", new()
    {
        AutomaticFailoverEnabled = true,
        PreferredCacheClusterAzs = new[]
        {
            "us-west-2a",
            "us-west-2b",
        },
        ReplicationGroupId = "tf-rep-group-1",
        Description = "example description",
        NodeType = "cache.m4.large",
        NumCacheClusters = 2,
        ParameterGroupName = "default.redis3.2",
        Port = 6379,
    });
    var replica = new List<Aws.ElastiCache.Cluster>();
    for (var rangeIndex = 0; rangeIndex < 1; rangeIndex++)
    {
        var range = new { Value = rangeIndex };
        replica.Add(new Aws.ElastiCache.Cluster($"replica-{range.Value}", new()
        {
            ClusterId = $"tf-rep-group-1-{range.Value}",
            ReplicationGroupId = example.Id,
        }));
    }
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
import com.pulumi.aws.elasticache.Cluster;
import com.pulumi.aws.elasticache.ClusterArgs;
import com.pulumi.codegen.internal.KeyedValue;
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 ReplicationGroup("example", ReplicationGroupArgs.builder()
            .automaticFailoverEnabled(true)
            .preferredCacheClusterAzs(            
                "us-west-2a",
                "us-west-2b")
            .replicationGroupId("tf-rep-group-1")
            .description("example description")
            .nodeType("cache.m4.large")
            .numCacheClusters(2)
            .parameterGroupName("default.redis3.2")
            .port(6379)
            .build());
        for (var i = 0; i < 1; i++) {
            new Cluster("replica-" + i, ClusterArgs.builder()
                .clusterId(String.format("tf-rep-group-1-%s", range.value()))
                .replicationGroupId(example.id())
                .build());
        
}
    }
}
resources:
  example:
    type: aws:elasticache:ReplicationGroup
    properties:
      automaticFailoverEnabled: true
      preferredCacheClusterAzs:
        - us-west-2a
        - us-west-2b
      replicationGroupId: tf-rep-group-1
      description: example description
      nodeType: cache.m4.large
      numCacheClusters: 2
      parameterGroupName: default.redis3.2
      port: 6379
  replica:
    type: aws:elasticache:Cluster
    properties:
      clusterId: tf-rep-group-1-${range.value}
      replicationGroupId: ${example.id}
    options: {}
Redis OSS/Valkey Cluster Mode Enabled
To create two shards with a primary and a single read replica each:
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const baz = new aws.elasticache.ReplicationGroup("baz", {
    replicationGroupId: "tf-redis-cluster",
    description: "example description",
    nodeType: "cache.t2.small",
    port: 6379,
    parameterGroupName: "default.redis3.2.cluster.on",
    automaticFailoverEnabled: true,
    numNodeGroups: 2,
    replicasPerNodeGroup: 1,
});
import pulumi
import pulumi_aws as aws
baz = aws.elasticache.ReplicationGroup("baz",
    replication_group_id="tf-redis-cluster",
    description="example description",
    node_type="cache.t2.small",
    port=6379,
    parameter_group_name="default.redis3.2.cluster.on",
    automatic_failover_enabled=True,
    num_node_groups=2,
    replicas_per_node_group=1)
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "baz", &elasticache.ReplicationGroupArgs{
			ReplicationGroupId:       pulumi.String("tf-redis-cluster"),
			Description:              pulumi.String("example description"),
			NodeType:                 pulumi.String("cache.t2.small"),
			Port:                     pulumi.Int(6379),
			ParameterGroupName:       pulumi.String("default.redis3.2.cluster.on"),
			AutomaticFailoverEnabled: pulumi.Bool(true),
			NumNodeGroups:            pulumi.Int(2),
			ReplicasPerNodeGroup:     pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var baz = new Aws.ElastiCache.ReplicationGroup("baz", new()
    {
        ReplicationGroupId = "tf-redis-cluster",
        Description = "example description",
        NodeType = "cache.t2.small",
        Port = 6379,
        ParameterGroupName = "default.redis3.2.cluster.on",
        AutomaticFailoverEnabled = true,
        NumNodeGroups = 2,
        ReplicasPerNodeGroup = 1,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
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 baz = new ReplicationGroup("baz", ReplicationGroupArgs.builder()
            .replicationGroupId("tf-redis-cluster")
            .description("example description")
            .nodeType("cache.t2.small")
            .port(6379)
            .parameterGroupName("default.redis3.2.cluster.on")
            .automaticFailoverEnabled(true)
            .numNodeGroups(2)
            .replicasPerNodeGroup(1)
            .build());
    }
}
resources:
  baz:
    type: aws:elasticache:ReplicationGroup
    properties:
      replicationGroupId: tf-redis-cluster
      description: example description
      nodeType: cache.t2.small
      port: 6379
      parameterGroupName: default.redis3.2.cluster.on
      automaticFailoverEnabled: true
      numNodeGroups: 2
      replicasPerNodeGroup: 1
Redis Log Delivery configuration
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.elasticache.ReplicationGroup("test", {
    replicationGroupId: "myreplicaciongroup",
    description: "test description",
    nodeType: "cache.t3.small",
    port: 6379,
    applyImmediately: true,
    autoMinorVersionUpgrade: false,
    maintenanceWindow: "tue:06:30-tue:07:30",
    snapshotWindow: "01:00-02:00",
    logDeliveryConfigurations: [
        {
            destination: example.name,
            destinationType: "cloudwatch-logs",
            logFormat: "text",
            logType: "slow-log",
        },
        {
            destination: exampleAwsKinesisFirehoseDeliveryStream.name,
            destinationType: "kinesis-firehose",
            logFormat: "json",
            logType: "engine-log",
        },
    ],
});
import pulumi
import pulumi_aws as aws
test = aws.elasticache.ReplicationGroup("test",
    replication_group_id="myreplicaciongroup",
    description="test description",
    node_type="cache.t3.small",
    port=6379,
    apply_immediately=True,
    auto_minor_version_upgrade=False,
    maintenance_window="tue:06:30-tue:07:30",
    snapshot_window="01:00-02:00",
    log_delivery_configurations=[
        {
            "destination": example["name"],
            "destination_type": "cloudwatch-logs",
            "log_format": "text",
            "log_type": "slow-log",
        },
        {
            "destination": example_aws_kinesis_firehose_delivery_stream["name"],
            "destination_type": "kinesis-firehose",
            "log_format": "json",
            "log_type": "engine-log",
        },
    ])
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "test", &elasticache.ReplicationGroupArgs{
			ReplicationGroupId:      pulumi.String("myreplicaciongroup"),
			Description:             pulumi.String("test description"),
			NodeType:                pulumi.String("cache.t3.small"),
			Port:                    pulumi.Int(6379),
			ApplyImmediately:        pulumi.Bool(true),
			AutoMinorVersionUpgrade: pulumi.Bool(false),
			MaintenanceWindow:       pulumi.String("tue:06:30-tue:07:30"),
			SnapshotWindow:          pulumi.String("01:00-02:00"),
			LogDeliveryConfigurations: elasticache.ReplicationGroupLogDeliveryConfigurationArray{
				&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(example.Name),
					DestinationType: pulumi.String("cloudwatch-logs"),
					LogFormat:       pulumi.String("text"),
					LogType:         pulumi.String("slow-log"),
				},
				&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),
					DestinationType: pulumi.String("kinesis-firehose"),
					LogFormat:       pulumi.String("json"),
					LogType:         pulumi.String("engine-log"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.ElastiCache.ReplicationGroup("test", new()
    {
        ReplicationGroupId = "myreplicaciongroup",
        Description = "test description",
        NodeType = "cache.t3.small",
        Port = 6379,
        ApplyImmediately = true,
        AutoMinorVersionUpgrade = false,
        MaintenanceWindow = "tue:06:30-tue:07:30",
        SnapshotWindow = "01:00-02:00",
        LogDeliveryConfigurations = new[]
        {
            new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs
            {
                Destination = example.Name,
                DestinationType = "cloudwatch-logs",
                LogFormat = "text",
                LogType = "slow-log",
            },
            new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs
            {
                Destination = exampleAwsKinesisFirehoseDeliveryStream.Name,
                DestinationType = "kinesis-firehose",
                LogFormat = "json",
                LogType = "engine-log",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
import com.pulumi.aws.elasticache.inputs.ReplicationGroupLogDeliveryConfigurationArgs;
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 test = new ReplicationGroup("test", ReplicationGroupArgs.builder()
            .replicationGroupId("myreplicaciongroup")
            .description("test description")
            .nodeType("cache.t3.small")
            .port(6379)
            .applyImmediately(true)
            .autoMinorVersionUpgrade(false)
            .maintenanceWindow("tue:06:30-tue:07:30")
            .snapshotWindow("01:00-02:00")
            .logDeliveryConfigurations(            
                ReplicationGroupLogDeliveryConfigurationArgs.builder()
                    .destination(example.name())
                    .destinationType("cloudwatch-logs")
                    .logFormat("text")
                    .logType("slow-log")
                    .build(),
                ReplicationGroupLogDeliveryConfigurationArgs.builder()
                    .destination(exampleAwsKinesisFirehoseDeliveryStream.name())
                    .destinationType("kinesis-firehose")
                    .logFormat("json")
                    .logType("engine-log")
                    .build())
            .build());
    }
}
resources:
  test:
    type: aws:elasticache:ReplicationGroup
    properties:
      replicationGroupId: myreplicaciongroup
      description: test description
      nodeType: cache.t3.small
      port: 6379
      applyImmediately: true
      autoMinorVersionUpgrade: false
      maintenanceWindow: tue:06:30-tue:07:30
      snapshotWindow: 01:00-02:00
      logDeliveryConfigurations:
        - destination: ${example.name}
          destinationType: cloudwatch-logs
          logFormat: text
          logType: slow-log
        - destination: ${exampleAwsKinesisFirehoseDeliveryStream.name}
          destinationType: kinesis-firehose
          logFormat: json
          logType: engine-log
Note: We currently do not support passing a
primary_cluster_idin order to create the Replication Group.
Note: Automatic Failover is unavailable for Redis versions earlier than 2.8.6, and unavailable on T1 node types. For T2 node types, it is only available on Redis version 3.2.4 or later with cluster mode enabled. See the High Availability Using Replication Groups guide for full details on using Replication Groups.
Creating a secondary replication group for a global replication group
A Global Replication Group can have up to two secondary Replication Groups in different regions. These are added to an existing Global Replication Group.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const primary = new aws.elasticache.ReplicationGroup("primary", {
    replicationGroupId: "example-primary",
    description: "primary replication group",
    engine: "redis",
    engineVersion: "5.0.6",
    nodeType: "cache.m5.large",
    numCacheClusters: 1,
});
const example = new aws.elasticache.GlobalReplicationGroup("example", {
    globalReplicationGroupIdSuffix: "example",
    primaryReplicationGroupId: primary.id,
});
const secondary = new aws.elasticache.ReplicationGroup("secondary", {
    replicationGroupId: "example-secondary",
    description: "secondary replication group",
    globalReplicationGroupId: example.globalReplicationGroupId,
    numCacheClusters: 1,
});
import pulumi
import pulumi_aws as aws
primary = aws.elasticache.ReplicationGroup("primary",
    replication_group_id="example-primary",
    description="primary replication group",
    engine="redis",
    engine_version="5.0.6",
    node_type="cache.m5.large",
    num_cache_clusters=1)
example = aws.elasticache.GlobalReplicationGroup("example",
    global_replication_group_id_suffix="example",
    primary_replication_group_id=primary.id)
secondary = aws.elasticache.ReplicationGroup("secondary",
    replication_group_id="example-secondary",
    description="secondary replication group",
    global_replication_group_id=example.global_replication_group_id,
    num_cache_clusters=1)
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupId: pulumi.String("example-primary"),
			Description:        pulumi.String("primary replication group"),
			Engine:             pulumi.String("redis"),
			EngineVersion:      pulumi.String("5.0.6"),
			NodeType:           pulumi.String("cache.m5.large"),
			NumCacheClusters:   pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		example, err := elasticache.NewGlobalReplicationGroup(ctx, "example", &elasticache.GlobalReplicationGroupArgs{
			GlobalReplicationGroupIdSuffix: pulumi.String("example"),
			PrimaryReplicationGroupId:      primary.ID(),
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupId:       pulumi.String("example-secondary"),
			Description:              pulumi.String("secondary replication group"),
			GlobalReplicationGroupId: example.GlobalReplicationGroupId,
			NumCacheClusters:         pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var primary = new Aws.ElastiCache.ReplicationGroup("primary", new()
    {
        ReplicationGroupId = "example-primary",
        Description = "primary replication group",
        Engine = "redis",
        EngineVersion = "5.0.6",
        NodeType = "cache.m5.large",
        NumCacheClusters = 1,
    });
    var example = new Aws.ElastiCache.GlobalReplicationGroup("example", new()
    {
        GlobalReplicationGroupIdSuffix = "example",
        PrimaryReplicationGroupId = primary.Id,
    });
    var secondary = new Aws.ElastiCache.ReplicationGroup("secondary", new()
    {
        ReplicationGroupId = "example-secondary",
        Description = "secondary replication group",
        GlobalReplicationGroupId = example.GlobalReplicationGroupId,
        NumCacheClusters = 1,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
import com.pulumi.aws.elasticache.GlobalReplicationGroup;
import com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;
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 primary = new ReplicationGroup("primary", ReplicationGroupArgs.builder()
            .replicationGroupId("example-primary")
            .description("primary replication group")
            .engine("redis")
            .engineVersion("5.0.6")
            .nodeType("cache.m5.large")
            .numCacheClusters(1)
            .build());
        var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder()
            .globalReplicationGroupIdSuffix("example")
            .primaryReplicationGroupId(primary.id())
            .build());
        var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder()
            .replicationGroupId("example-secondary")
            .description("secondary replication group")
            .globalReplicationGroupId(example.globalReplicationGroupId())
            .numCacheClusters(1)
            .build());
    }
}
resources:
  secondary:
    type: aws:elasticache:ReplicationGroup
    properties:
      replicationGroupId: example-secondary
      description: secondary replication group
      globalReplicationGroupId: ${example.globalReplicationGroupId}
      numCacheClusters: 1
  example:
    type: aws:elasticache:GlobalReplicationGroup
    properties:
      globalReplicationGroupIdSuffix: example
      primaryReplicationGroupId: ${primary.id}
  primary:
    type: aws:elasticache:ReplicationGroup
    properties:
      replicationGroupId: example-primary
      description: primary replication group
      engine: redis
      engineVersion: 5.0.6
      nodeType: cache.m5.large
      numCacheClusters: 1
Redis AUTH and In-Transit Encryption Enabled
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.elasticache.ReplicationGroup("example", {
    replicationGroupId: "example",
    description: "example with authentication",
    nodeType: "cache.t2.micro",
    numCacheClusters: 1,
    port: 6379,
    subnetGroupName: exampleAwsElasticacheSubnetGroup.name,
    securityGroupIds: [exampleAwsSecurityGroup.id],
    parameterGroupName: "default.redis5.0",
    engineVersion: "5.0.6",
    transitEncryptionEnabled: true,
    authToken: "abcdefgh1234567890",
    authTokenUpdateStrategy: "ROTATE",
});
import pulumi
import pulumi_aws as aws
example = aws.elasticache.ReplicationGroup("example",
    replication_group_id="example",
    description="example with authentication",
    node_type="cache.t2.micro",
    num_cache_clusters=1,
    port=6379,
    subnet_group_name=example_aws_elasticache_subnet_group["name"],
    security_group_ids=[example_aws_security_group["id"]],
    parameter_group_name="default.redis5.0",
    engine_version="5.0.6",
    transit_encryption_enabled=True,
    auth_token="abcdefgh1234567890",
    auth_token_update_strategy="ROTATE")
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticache"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{
			ReplicationGroupId: pulumi.String("example"),
			Description:        pulumi.String("example with authentication"),
			NodeType:           pulumi.String("cache.t2.micro"),
			NumCacheClusters:   pulumi.Int(1),
			Port:               pulumi.Int(6379),
			SubnetGroupName:    pulumi.Any(exampleAwsElasticacheSubnetGroup.Name),
			SecurityGroupIds: pulumi.StringArray{
				exampleAwsSecurityGroup.Id,
			},
			ParameterGroupName:       pulumi.String("default.redis5.0"),
			EngineVersion:            pulumi.String("5.0.6"),
			TransitEncryptionEnabled: pulumi.Bool(true),
			AuthToken:                pulumi.String("abcdefgh1234567890"),
			AuthTokenUpdateStrategy:  pulumi.String("ROTATE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.ElastiCache.ReplicationGroup("example", new()
    {
        ReplicationGroupId = "example",
        Description = "example with authentication",
        NodeType = "cache.t2.micro",
        NumCacheClusters = 1,
        Port = 6379,
        SubnetGroupName = exampleAwsElasticacheSubnetGroup.Name,
        SecurityGroupIds = new[]
        {
            exampleAwsSecurityGroup.Id,
        },
        ParameterGroupName = "default.redis5.0",
        EngineVersion = "5.0.6",
        TransitEncryptionEnabled = true,
        AuthToken = "abcdefgh1234567890",
        AuthTokenUpdateStrategy = "ROTATE",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elasticache.ReplicationGroup;
import com.pulumi.aws.elasticache.ReplicationGroupArgs;
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 ReplicationGroup("example", ReplicationGroupArgs.builder()
            .replicationGroupId("example")
            .description("example with authentication")
            .nodeType("cache.t2.micro")
            .numCacheClusters(1)
            .port(6379)
            .subnetGroupName(exampleAwsElasticacheSubnetGroup.name())
            .securityGroupIds(exampleAwsSecurityGroup.id())
            .parameterGroupName("default.redis5.0")
            .engineVersion("5.0.6")
            .transitEncryptionEnabled(true)
            .authToken("abcdefgh1234567890")
            .authTokenUpdateStrategy("ROTATE")
            .build());
    }
}
resources:
  example:
    type: aws:elasticache:ReplicationGroup
    properties:
      replicationGroupId: example
      description: example with authentication
      nodeType: cache.t2.micro
      numCacheClusters: 1
      port: 6379
      subnetGroupName: ${exampleAwsElasticacheSubnetGroup.name}
      securityGroupIds:
        - ${exampleAwsSecurityGroup.id}
      parameterGroupName: default.redis5.0
      engineVersion: 5.0.6
      transitEncryptionEnabled: true
      authToken: abcdefgh1234567890
      authTokenUpdateStrategy: ROTATE
When adding a new
auth_tokento a previously passwordless replication group, using theROTATEupdate strategy will result in support for both the new token and passwordless authentication. To immediately require authorization when adding the initial token, use theSETstrategy instead. See the Authenticating with the Redis AUTH command guide for additional details.
Create ReplicationGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ReplicationGroup(name: string, args: ReplicationGroupArgs, opts?: CustomResourceOptions);@overload
def ReplicationGroup(resource_name: str,
                     args: ReplicationGroupArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def ReplicationGroup(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     description: Optional[str] = None,
                     network_type: Optional[str] = None,
                     transit_encryption_mode: Optional[str] = None,
                     auth_token_update_strategy: Optional[str] = None,
                     auto_minor_version_upgrade: Optional[bool] = None,
                     automatic_failover_enabled: Optional[bool] = None,
                     cluster_mode: Optional[str] = None,
                     data_tiering_enabled: Optional[bool] = None,
                     at_rest_encryption_enabled: Optional[bool] = None,
                     node_type: Optional[str] = None,
                     engine_version: Optional[str] = None,
                     final_snapshot_identifier: Optional[str] = None,
                     global_replication_group_id: Optional[str] = None,
                     ip_discovery: Optional[str] = None,
                     kms_key_id: Optional[str] = None,
                     log_delivery_configurations: Optional[Sequence[ReplicationGroupLogDeliveryConfigurationArgs]] = None,
                     maintenance_window: Optional[str] = None,
                     multi_az_enabled: Optional[bool] = None,
                     apply_immediately: Optional[bool] = None,
                     engine: Optional[str] = None,
                     auth_token: Optional[str] = None,
                     replicas_per_node_group: Optional[int] = None,
                     num_node_groups: Optional[int] = None,
                     parameter_group_name: Optional[str] = None,
                     port: Optional[int] = None,
                     preferred_cache_cluster_azs: Optional[Sequence[str]] = None,
                     num_cache_clusters: Optional[int] = None,
                     replication_group_id: Optional[str] = None,
                     security_group_ids: Optional[Sequence[str]] = None,
                     security_group_names: Optional[Sequence[str]] = None,
                     snapshot_arns: Optional[Sequence[str]] = None,
                     snapshot_name: Optional[str] = None,
                     snapshot_retention_limit: Optional[int] = None,
                     snapshot_window: Optional[str] = None,
                     subnet_group_name: Optional[str] = None,
                     tags: Optional[Mapping[str, str]] = None,
                     transit_encryption_enabled: Optional[bool] = None,
                     notification_topic_arn: Optional[str] = None,
                     user_group_ids: Optional[Sequence[str]] = None)func NewReplicationGroup(ctx *Context, name string, args ReplicationGroupArgs, opts ...ResourceOption) (*ReplicationGroup, error)public ReplicationGroup(string name, ReplicationGroupArgs args, CustomResourceOptions? opts = null)
public ReplicationGroup(String name, ReplicationGroupArgs args)
public ReplicationGroup(String name, ReplicationGroupArgs args, CustomResourceOptions options)
type: aws:elasticache:ReplicationGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ReplicationGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ReplicationGroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ReplicationGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ReplicationGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ReplicationGroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var replicationGroupResource = new Aws.ElastiCache.ReplicationGroup("replicationGroupResource", new()
{
    Description = "string",
    NetworkType = "string",
    TransitEncryptionMode = "string",
    AuthTokenUpdateStrategy = "string",
    AutoMinorVersionUpgrade = false,
    AutomaticFailoverEnabled = false,
    ClusterMode = "string",
    DataTieringEnabled = false,
    AtRestEncryptionEnabled = false,
    NodeType = "string",
    EngineVersion = "string",
    FinalSnapshotIdentifier = "string",
    GlobalReplicationGroupId = "string",
    IpDiscovery = "string",
    KmsKeyId = "string",
    LogDeliveryConfigurations = new[]
    {
        new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs
        {
            Destination = "string",
            DestinationType = "string",
            LogFormat = "string",
            LogType = "string",
        },
    },
    MaintenanceWindow = "string",
    MultiAzEnabled = false,
    ApplyImmediately = false,
    Engine = "string",
    AuthToken = "string",
    ReplicasPerNodeGroup = 0,
    NumNodeGroups = 0,
    ParameterGroupName = "string",
    Port = 0,
    PreferredCacheClusterAzs = new[]
    {
        "string",
    },
    NumCacheClusters = 0,
    ReplicationGroupId = "string",
    SecurityGroupIds = new[]
    {
        "string",
    },
    SecurityGroupNames = new[]
    {
        "string",
    },
    SnapshotArns = new[]
    {
        "string",
    },
    SnapshotName = "string",
    SnapshotRetentionLimit = 0,
    SnapshotWindow = "string",
    SubnetGroupName = "string",
    Tags = 
    {
        { "string", "string" },
    },
    TransitEncryptionEnabled = false,
    NotificationTopicArn = "string",
    UserGroupIds = new[]
    {
        "string",
    },
});
example, err := elasticache.NewReplicationGroup(ctx, "replicationGroupResource", &elasticache.ReplicationGroupArgs{
	Description:              pulumi.String("string"),
	NetworkType:              pulumi.String("string"),
	TransitEncryptionMode:    pulumi.String("string"),
	AuthTokenUpdateStrategy:  pulumi.String("string"),
	AutoMinorVersionUpgrade:  pulumi.Bool(false),
	AutomaticFailoverEnabled: pulumi.Bool(false),
	ClusterMode:              pulumi.String("string"),
	DataTieringEnabled:       pulumi.Bool(false),
	AtRestEncryptionEnabled:  pulumi.Bool(false),
	NodeType:                 pulumi.String("string"),
	EngineVersion:            pulumi.String("string"),
	FinalSnapshotIdentifier:  pulumi.String("string"),
	GlobalReplicationGroupId: pulumi.String("string"),
	IpDiscovery:              pulumi.String("string"),
	KmsKeyId:                 pulumi.String("string"),
	LogDeliveryConfigurations: elasticache.ReplicationGroupLogDeliveryConfigurationArray{
		&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
			Destination:     pulumi.String("string"),
			DestinationType: pulumi.String("string"),
			LogFormat:       pulumi.String("string"),
			LogType:         pulumi.String("string"),
		},
	},
	MaintenanceWindow:    pulumi.String("string"),
	MultiAzEnabled:       pulumi.Bool(false),
	ApplyImmediately:     pulumi.Bool(false),
	Engine:               pulumi.String("string"),
	AuthToken:            pulumi.String("string"),
	ReplicasPerNodeGroup: pulumi.Int(0),
	NumNodeGroups:        pulumi.Int(0),
	ParameterGroupName:   pulumi.String("string"),
	Port:                 pulumi.Int(0),
	PreferredCacheClusterAzs: pulumi.StringArray{
		pulumi.String("string"),
	},
	NumCacheClusters:   pulumi.Int(0),
	ReplicationGroupId: pulumi.String("string"),
	SecurityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	SecurityGroupNames: pulumi.StringArray{
		pulumi.String("string"),
	},
	SnapshotArns: pulumi.StringArray{
		pulumi.String("string"),
	},
	SnapshotName:           pulumi.String("string"),
	SnapshotRetentionLimit: pulumi.Int(0),
	SnapshotWindow:         pulumi.String("string"),
	SubnetGroupName:        pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	TransitEncryptionEnabled: pulumi.Bool(false),
	NotificationTopicArn:     pulumi.String("string"),
	UserGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var replicationGroupResource = new ReplicationGroup("replicationGroupResource", ReplicationGroupArgs.builder()
    .description("string")
    .networkType("string")
    .transitEncryptionMode("string")
    .authTokenUpdateStrategy("string")
    .autoMinorVersionUpgrade(false)
    .automaticFailoverEnabled(false)
    .clusterMode("string")
    .dataTieringEnabled(false)
    .atRestEncryptionEnabled(false)
    .nodeType("string")
    .engineVersion("string")
    .finalSnapshotIdentifier("string")
    .globalReplicationGroupId("string")
    .ipDiscovery("string")
    .kmsKeyId("string")
    .logDeliveryConfigurations(ReplicationGroupLogDeliveryConfigurationArgs.builder()
        .destination("string")
        .destinationType("string")
        .logFormat("string")
        .logType("string")
        .build())
    .maintenanceWindow("string")
    .multiAzEnabled(false)
    .applyImmediately(false)
    .engine("string")
    .authToken("string")
    .replicasPerNodeGroup(0)
    .numNodeGroups(0)
    .parameterGroupName("string")
    .port(0)
    .preferredCacheClusterAzs("string")
    .numCacheClusters(0)
    .replicationGroupId("string")
    .securityGroupIds("string")
    .securityGroupNames("string")
    .snapshotArns("string")
    .snapshotName("string")
    .snapshotRetentionLimit(0)
    .snapshotWindow("string")
    .subnetGroupName("string")
    .tags(Map.of("string", "string"))
    .transitEncryptionEnabled(false)
    .notificationTopicArn("string")
    .userGroupIds("string")
    .build());
replication_group_resource = aws.elasticache.ReplicationGroup("replicationGroupResource",
    description="string",
    network_type="string",
    transit_encryption_mode="string",
    auth_token_update_strategy="string",
    auto_minor_version_upgrade=False,
    automatic_failover_enabled=False,
    cluster_mode="string",
    data_tiering_enabled=False,
    at_rest_encryption_enabled=False,
    node_type="string",
    engine_version="string",
    final_snapshot_identifier="string",
    global_replication_group_id="string",
    ip_discovery="string",
    kms_key_id="string",
    log_delivery_configurations=[{
        "destination": "string",
        "destination_type": "string",
        "log_format": "string",
        "log_type": "string",
    }],
    maintenance_window="string",
    multi_az_enabled=False,
    apply_immediately=False,
    engine="string",
    auth_token="string",
    replicas_per_node_group=0,
    num_node_groups=0,
    parameter_group_name="string",
    port=0,
    preferred_cache_cluster_azs=["string"],
    num_cache_clusters=0,
    replication_group_id="string",
    security_group_ids=["string"],
    security_group_names=["string"],
    snapshot_arns=["string"],
    snapshot_name="string",
    snapshot_retention_limit=0,
    snapshot_window="string",
    subnet_group_name="string",
    tags={
        "string": "string",
    },
    transit_encryption_enabled=False,
    notification_topic_arn="string",
    user_group_ids=["string"])
const replicationGroupResource = new aws.elasticache.ReplicationGroup("replicationGroupResource", {
    description: "string",
    networkType: "string",
    transitEncryptionMode: "string",
    authTokenUpdateStrategy: "string",
    autoMinorVersionUpgrade: false,
    automaticFailoverEnabled: false,
    clusterMode: "string",
    dataTieringEnabled: false,
    atRestEncryptionEnabled: false,
    nodeType: "string",
    engineVersion: "string",
    finalSnapshotIdentifier: "string",
    globalReplicationGroupId: "string",
    ipDiscovery: "string",
    kmsKeyId: "string",
    logDeliveryConfigurations: [{
        destination: "string",
        destinationType: "string",
        logFormat: "string",
        logType: "string",
    }],
    maintenanceWindow: "string",
    multiAzEnabled: false,
    applyImmediately: false,
    engine: "string",
    authToken: "string",
    replicasPerNodeGroup: 0,
    numNodeGroups: 0,
    parameterGroupName: "string",
    port: 0,
    preferredCacheClusterAzs: ["string"],
    numCacheClusters: 0,
    replicationGroupId: "string",
    securityGroupIds: ["string"],
    securityGroupNames: ["string"],
    snapshotArns: ["string"],
    snapshotName: "string",
    snapshotRetentionLimit: 0,
    snapshotWindow: "string",
    subnetGroupName: "string",
    tags: {
        string: "string",
    },
    transitEncryptionEnabled: false,
    notificationTopicArn: "string",
    userGroupIds: ["string"],
});
type: aws:elasticache:ReplicationGroup
properties:
    applyImmediately: false
    atRestEncryptionEnabled: false
    authToken: string
    authTokenUpdateStrategy: string
    autoMinorVersionUpgrade: false
    automaticFailoverEnabled: false
    clusterMode: string
    dataTieringEnabled: false
    description: string
    engine: string
    engineVersion: string
    finalSnapshotIdentifier: string
    globalReplicationGroupId: string
    ipDiscovery: string
    kmsKeyId: string
    logDeliveryConfigurations:
        - destination: string
          destinationType: string
          logFormat: string
          logType: string
    maintenanceWindow: string
    multiAzEnabled: false
    networkType: string
    nodeType: string
    notificationTopicArn: string
    numCacheClusters: 0
    numNodeGroups: 0
    parameterGroupName: string
    port: 0
    preferredCacheClusterAzs:
        - string
    replicasPerNodeGroup: 0
    replicationGroupId: string
    securityGroupIds:
        - string
    securityGroupNames:
        - string
    snapshotArns:
        - string
    snapshotName: string
    snapshotRetentionLimit: 0
    snapshotWindow: string
    subnetGroupName: string
    tags:
        string: string
    transitEncryptionEnabled: false
    transitEncryptionMode: string
    userGroupIds:
        - string
ReplicationGroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ReplicationGroup resource accepts the following input properties:
- Description string
- User-created description for the replication group. Must not be empty.
- ApplyImmediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- AtRest boolEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- AuthToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- AuthToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- AutoMinor boolVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- AutomaticFailover boolEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- ClusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- DataTiering boolEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- Engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- EngineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- FinalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- GlobalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- IpDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- KmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- LogDelivery List<ReplicationConfigurations Group Log Delivery Configuration> 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- MaintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- MultiAz boolEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- NetworkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- NodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- NotificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- NumCache intClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- NumNode intGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- ParameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- Port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- PreferredCache List<string>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- ReplicasPer intNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- ReplicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- SecurityGroup List<string>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SecurityGroup List<string>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SnapshotArns List<string>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- SnapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- SnapshotRetention intLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- SnapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- SubnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- Dictionary<string, string>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- TransitEncryption boolEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- TransitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- UserGroup List<string>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- Description string
- User-created description for the replication group. Must not be empty.
- ApplyImmediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- AtRest boolEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- AuthToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- AuthToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- AutoMinor boolVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- AutomaticFailover boolEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- ClusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- DataTiering boolEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- Engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- EngineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- FinalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- GlobalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- IpDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- KmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- LogDelivery []ReplicationConfigurations Group Log Delivery Configuration Args 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- MaintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- MultiAz boolEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- NetworkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- NodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- NotificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- NumCache intClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- NumNode intGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- ParameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- Port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- PreferredCache []stringCluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- ReplicasPer intNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- ReplicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- SecurityGroup []stringIds 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SecurityGroup []stringNames 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SnapshotArns []string
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- SnapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- SnapshotRetention intLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- SnapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- SubnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- map[string]string
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- TransitEncryption boolEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- TransitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- UserGroup []stringIds 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- description String
- User-created description for the replication group. Must not be empty.
- applyImmediately Boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- atRest BooleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken String
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken StringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor BooleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover BooleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterMode String
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- dataTiering BooleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- engine String
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion String
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- finalSnapshot StringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication StringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery String
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey StringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery List<ReplicationConfigurations Group Log Delivery Configuration> 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow String
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- multiAz BooleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType String
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType String
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic StringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache IntegerClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode IntegerGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup StringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port Integer
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache List<String>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- replicasPer IntegerNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup StringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup List<String>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup List<String>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns List<String>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName String
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention IntegerLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow String
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup StringName 
- Name of the cache subnet group to be used for the replication group.
- Map<String,String>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- transitEncryption BooleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption StringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup List<String>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- description string
- User-created description for the replication group. Must not be empty.
- applyImmediately boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- atRest booleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor booleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover booleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- dataTiering booleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- finalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery ReplicationConfigurations Group Log Delivery Configuration[] 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- multiAz booleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache numberClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode numberGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port number
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache string[]Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- replicasPer numberNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup string[]Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup string[]Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns string[]
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention numberLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- {[key: string]: string}
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- transitEncryption booleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup string[]Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- description str
- User-created description for the replication group. Must not be empty.
- apply_immediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- at_rest_ boolencryption_ enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- auth_token str
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- auth_token_ strupdate_ strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- auto_minor_ boolversion_ upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automatic_failover_ boolenabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- cluster_mode str
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- data_tiering_ boolenabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- engine str
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engine_version str
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- final_snapshot_ stridentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- global_replication_ strgroup_ id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ip_discovery str
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kms_key_ strid 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- log_delivery_ Sequence[Replicationconfigurations Group Log Delivery Configuration Args] 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenance_window str
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- multi_az_ boolenabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- network_type str
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- node_type str
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notification_topic_ strarn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- num_cache_ intclusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- num_node_ intgroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameter_group_ strname 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferred_cache_ Sequence[str]cluster_ azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- replicas_per_ intnode_ group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replication_group_ strid 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- security_group_ Sequence[str]ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- security_group_ Sequence[str]names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshot_arns Sequence[str]
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshot_name str
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshot_retention_ intlimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshot_window str
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnet_group_ strname 
- Name of the cache subnet group to be used for the replication group.
- Mapping[str, str]
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- transit_encryption_ boolenabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transit_encryption_ strmode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- user_group_ Sequence[str]ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- description String
- User-created description for the replication group. Must not be empty.
- applyImmediately Boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- atRest BooleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken String
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken StringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor BooleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover BooleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterMode String
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- dataTiering BooleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- engine String
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion String
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- finalSnapshot StringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication StringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery String
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey StringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery List<Property Map>Configurations 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow String
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- multiAz BooleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType String
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType String
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic StringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache NumberClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode NumberGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup StringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port Number
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache List<String>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- replicasPer NumberNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup StringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup List<String>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup List<String>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns List<String>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName String
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention NumberLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow String
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup StringName 
- Name of the cache subnet group to be used for the replication group.
- Map<String>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- transitEncryption BooleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption StringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup List<String>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
Outputs
All input properties are implicitly available as output properties. Additionally, the ReplicationGroup resource produces the following output properties:
- Arn string
- ARN of the created ElastiCache Replication Group.
- ClusterEnabled bool
- Indicates if cluster mode is enabled.
- ConfigurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- EngineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- Id string
- The provider-assigned unique ID for this managed resource.
- MemberClusters List<string>
- Identifiers of all the nodes that are part of this replication group.
- PrimaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- ReaderEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the created ElastiCache Replication Group.
- ClusterEnabled bool
- Indicates if cluster mode is enabled.
- ConfigurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- EngineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- Id string
- The provider-assigned unique ID for this managed resource.
- MemberClusters []string
- Identifiers of all the nodes that are part of this replication group.
- PrimaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- ReaderEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the created ElastiCache Replication Group.
- clusterEnabled Boolean
- Indicates if cluster mode is enabled.
- configurationEndpoint StringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- engineVersion StringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- id String
- The provider-assigned unique ID for this managed resource.
- memberClusters List<String>
- Identifiers of all the nodes that are part of this replication group.
- primaryEndpoint StringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint StringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the created ElastiCache Replication Group.
- clusterEnabled boolean
- Indicates if cluster mode is enabled.
- configurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- engineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- id string
- The provider-assigned unique ID for this managed resource.
- memberClusters string[]
- Identifiers of all the nodes that are part of this replication group.
- primaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the created ElastiCache Replication Group.
- cluster_enabled bool
- Indicates if cluster mode is enabled.
- configuration_endpoint_ straddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- engine_version_ stractual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- id str
- The provider-assigned unique ID for this managed resource.
- member_clusters Sequence[str]
- Identifiers of all the nodes that are part of this replication group.
- primary_endpoint_ straddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- reader_endpoint_ straddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the created ElastiCache Replication Group.
- clusterEnabled Boolean
- Indicates if cluster mode is enabled.
- configurationEndpoint StringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- engineVersion StringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- id String
- The provider-assigned unique ID for this managed resource.
- memberClusters List<String>
- Identifiers of all the nodes that are part of this replication group.
- primaryEndpoint StringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint StringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Look up Existing ReplicationGroup Resource
Get an existing ReplicationGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ReplicationGroupState, opts?: CustomResourceOptions): ReplicationGroup@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        apply_immediately: Optional[bool] = None,
        arn: Optional[str] = None,
        at_rest_encryption_enabled: Optional[bool] = None,
        auth_token: Optional[str] = None,
        auth_token_update_strategy: Optional[str] = None,
        auto_minor_version_upgrade: Optional[bool] = None,
        automatic_failover_enabled: Optional[bool] = None,
        cluster_enabled: Optional[bool] = None,
        cluster_mode: Optional[str] = None,
        configuration_endpoint_address: Optional[str] = None,
        data_tiering_enabled: Optional[bool] = None,
        description: Optional[str] = None,
        engine: Optional[str] = None,
        engine_version: Optional[str] = None,
        engine_version_actual: Optional[str] = None,
        final_snapshot_identifier: Optional[str] = None,
        global_replication_group_id: Optional[str] = None,
        ip_discovery: Optional[str] = None,
        kms_key_id: Optional[str] = None,
        log_delivery_configurations: Optional[Sequence[ReplicationGroupLogDeliveryConfigurationArgs]] = None,
        maintenance_window: Optional[str] = None,
        member_clusters: Optional[Sequence[str]] = None,
        multi_az_enabled: Optional[bool] = None,
        network_type: Optional[str] = None,
        node_type: Optional[str] = None,
        notification_topic_arn: Optional[str] = None,
        num_cache_clusters: Optional[int] = None,
        num_node_groups: Optional[int] = None,
        parameter_group_name: Optional[str] = None,
        port: Optional[int] = None,
        preferred_cache_cluster_azs: Optional[Sequence[str]] = None,
        primary_endpoint_address: Optional[str] = None,
        reader_endpoint_address: Optional[str] = None,
        replicas_per_node_group: Optional[int] = None,
        replication_group_id: Optional[str] = None,
        security_group_ids: Optional[Sequence[str]] = None,
        security_group_names: Optional[Sequence[str]] = None,
        snapshot_arns: Optional[Sequence[str]] = None,
        snapshot_name: Optional[str] = None,
        snapshot_retention_limit: Optional[int] = None,
        snapshot_window: Optional[str] = None,
        subnet_group_name: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        transit_encryption_enabled: Optional[bool] = None,
        transit_encryption_mode: Optional[str] = None,
        user_group_ids: Optional[Sequence[str]] = None) -> ReplicationGroupfunc GetReplicationGroup(ctx *Context, name string, id IDInput, state *ReplicationGroupState, opts ...ResourceOption) (*ReplicationGroup, error)public static ReplicationGroup Get(string name, Input<string> id, ReplicationGroupState? state, CustomResourceOptions? opts = null)public static ReplicationGroup get(String name, Output<String> id, ReplicationGroupState state, CustomResourceOptions options)resources:  _:    type: aws:elasticache:ReplicationGroup    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- ApplyImmediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- Arn string
- ARN of the created ElastiCache Replication Group.
- AtRest boolEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- AuthToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- AuthToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- AutoMinor boolVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- AutomaticFailover boolEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- ClusterEnabled bool
- Indicates if cluster mode is enabled.
- ClusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- ConfigurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- DataTiering boolEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- Description string
- User-created description for the replication group. Must not be empty.
- Engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- EngineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- EngineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- FinalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- GlobalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- IpDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- KmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- LogDelivery List<ReplicationConfigurations Group Log Delivery Configuration> 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- MaintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- MemberClusters List<string>
- Identifiers of all the nodes that are part of this replication group.
- MultiAz boolEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- NetworkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- NodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- NotificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- NumCache intClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- NumNode intGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- ParameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- Port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- PreferredCache List<string>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- PrimaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- ReaderEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- ReplicasPer intNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- ReplicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- SecurityGroup List<string>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SecurityGroup List<string>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SnapshotArns List<string>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- SnapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- SnapshotRetention intLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- SnapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- SubnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- Dictionary<string, string>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- TransitEncryption boolEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- TransitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- UserGroup List<string>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- ApplyImmediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- Arn string
- ARN of the created ElastiCache Replication Group.
- AtRest boolEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- AuthToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- AuthToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- AutoMinor boolVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- AutomaticFailover boolEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- ClusterEnabled bool
- Indicates if cluster mode is enabled.
- ClusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- ConfigurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- DataTiering boolEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- Description string
- User-created description for the replication group. Must not be empty.
- Engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- EngineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- EngineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- FinalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- GlobalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- IpDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- KmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- LogDelivery []ReplicationConfigurations Group Log Delivery Configuration Args 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- MaintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- MemberClusters []string
- Identifiers of all the nodes that are part of this replication group.
- MultiAz boolEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- NetworkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- NodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- NotificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- NumCache intClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- NumNode intGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- ParameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- Port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- PreferredCache []stringCluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- PrimaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- ReaderEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- ReplicasPer intNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- ReplicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- SecurityGroup []stringIds 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SecurityGroup []stringNames 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- SnapshotArns []string
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- SnapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- SnapshotRetention intLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- SnapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- SubnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- map[string]string
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- TransitEncryption boolEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- TransitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- UserGroup []stringIds 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- applyImmediately Boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- arn String
- ARN of the created ElastiCache Replication Group.
- atRest BooleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken String
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken StringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor BooleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover BooleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterEnabled Boolean
- Indicates if cluster mode is enabled.
- clusterMode String
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- configurationEndpoint StringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- dataTiering BooleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- description String
- User-created description for the replication group. Must not be empty.
- engine String
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion String
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- engineVersion StringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- finalSnapshot StringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication StringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery String
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey StringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery List<ReplicationConfigurations Group Log Delivery Configuration> 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow String
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- memberClusters List<String>
- Identifiers of all the nodes that are part of this replication group.
- multiAz BooleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType String
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType String
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic StringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache IntegerClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode IntegerGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup StringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port Integer
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache List<String>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- primaryEndpoint StringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint StringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- replicasPer IntegerNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup StringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup List<String>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup List<String>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns List<String>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName String
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention IntegerLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow String
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup StringName 
- Name of the cache subnet group to be used for the replication group.
- Map<String,String>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- transitEncryption BooleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption StringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup List<String>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- applyImmediately boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- arn string
- ARN of the created ElastiCache Replication Group.
- atRest booleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken string
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken stringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor booleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover booleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterEnabled boolean
- Indicates if cluster mode is enabled.
- clusterMode string
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- configurationEndpoint stringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- dataTiering booleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- description string
- User-created description for the replication group. Must not be empty.
- engine string
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion string
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- engineVersion stringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- finalSnapshot stringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication stringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery string
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey stringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery ReplicationConfigurations Group Log Delivery Configuration[] 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow string
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- memberClusters string[]
- Identifiers of all the nodes that are part of this replication group.
- multiAz booleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType string
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType string
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic stringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache numberClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode numberGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup stringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port number
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache string[]Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- primaryEndpoint stringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint stringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- replicasPer numberNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup stringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup string[]Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup string[]Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns string[]
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName string
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention numberLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow string
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup stringName 
- Name of the cache subnet group to be used for the replication group.
- {[key: string]: string}
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- transitEncryption booleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption stringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup string[]Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- apply_immediately bool
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- arn str
- ARN of the created ElastiCache Replication Group.
- at_rest_ boolencryption_ enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- auth_token str
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- auth_token_ strupdate_ strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- auto_minor_ boolversion_ upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automatic_failover_ boolenabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- cluster_enabled bool
- Indicates if cluster mode is enabled.
- cluster_mode str
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- configuration_endpoint_ straddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- data_tiering_ boolenabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- description str
- User-created description for the replication group. Must not be empty.
- engine str
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engine_version str
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- engine_version_ stractual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- final_snapshot_ stridentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- global_replication_ strgroup_ id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ip_discovery str
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kms_key_ strid 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- log_delivery_ Sequence[Replicationconfigurations Group Log Delivery Configuration Args] 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenance_window str
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- member_clusters Sequence[str]
- Identifiers of all the nodes that are part of this replication group.
- multi_az_ boolenabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- network_type str
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- node_type str
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notification_topic_ strarn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- num_cache_ intclusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- num_node_ intgroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameter_group_ strname 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port int
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferred_cache_ Sequence[str]cluster_ azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- primary_endpoint_ straddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- reader_endpoint_ straddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- replicas_per_ intnode_ group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replication_group_ strid 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- security_group_ Sequence[str]ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- security_group_ Sequence[str]names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshot_arns Sequence[str]
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshot_name str
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshot_retention_ intlimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshot_window str
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnet_group_ strname 
- Name of the cache subnet group to be used for the replication group.
- Mapping[str, str]
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- transit_encryption_ boolenabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transit_encryption_ strmode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- user_group_ Sequence[str]ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
- applyImmediately Boolean
- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
- arn String
- ARN of the created ElastiCache Replication Group.
- atRest BooleanEncryption Enabled 
- Whether to enable encryption at rest.
When engineisredis, default isfalse. Whenengineisvalkey, default istrue.
- authToken String
- Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
- authToken StringUpdate Strategy 
- Strategy to use when updating the auth_token. Valid values areSET,ROTATE, andDELETE. Defaults toROTATE.
- autoMinor BooleanVersion Upgrade 
- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
Only supported for engine types "redis"and"valkey"and if the engine version is 6 or higher. Defaults totrue.
- automaticFailover BooleanEnabled 
- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clustersmust be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults tofalse.
- clusterEnabled Boolean
- Indicates if cluster mode is enabled.
- clusterMode String
- Specifies whether cluster mode is enabled or disabled. Valid values are enabledordisabledorcompatible
- configurationEndpoint StringAddress 
- Address of the replication group configuration endpoint when cluster mode is enabled.
- dataTiering BooleanEnabled 
- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to truewhen using r6gd nodes.
- description String
- User-created description for the replication group. Must not be empty.
- engine String
- Name of the cache engine to be used for the clusters in this replication group.
Valid values are redisorvalkey. Default isredis.
- engineVersion String
- Version number of the cache engine to be used for the cache clusters in this replication group.
If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. If the version is 6, the major and minor version can be set, e.g.,6.2, or the minor version can be unspecified which will use the latest version at creation time, e.g.,6.x. Otherwise, specify the full version desired, e.g.,5.0.6. The actual engine version used is returned in the attributeengine_version_actual, see Attribute Reference below.
- engineVersion StringActual 
- Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
- finalSnapshot StringIdentifier 
- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
- globalReplication StringGroup Id 
- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_idis set, thenum_node_groupsparameter cannot be set.
- ipDiscovery String
- The IP version to advertise in the discovery protocol. Valid values are ipv4oripv6.
- kmsKey StringId 
- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
- logDelivery List<Property Map>Configurations 
- Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
- maintenanceWindow String
- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi(24H Clock UTC). The minimum maintenance window is a 60 minute period. Example:sun:05:00-sun:09:00
- memberClusters List<String>
- Identifiers of all the nodes that are part of this replication group.
- multiAz BooleanEnabled 
- Specifies whether to enable Multi-AZ Support for the replication group.
If true,automatic_failover_enabledmust also be enabled. Defaults tofalse.
- networkType String
- The IP versions for cache cluster connections. Valid values are ipv4,ipv6ordual_stack.
- nodeType String
- Instance class to be used.
See AWS documentation for information on supported node types and guidance on selecting node types.
Required unless global_replication_group_idis set. Cannot be set ifglobal_replication_group_idis set.
- notificationTopic StringArn 
- ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
- numCache NumberClusters 
- Number of cache clusters (primary and replicas) this replication group will have.
If automatic_failover_enabledormulti_az_enabledaretrue, must be at least 2. Updates will occur before other modifications. Conflicts withnum_node_groupsandreplicas_per_node_group. Defaults to1.
- numNode NumberGroups 
- Number of node groups (shards) for this Redis replication group.
Changing this number will trigger a resizing operation before other settings modifications.
Conflicts with num_cache_clusters.
- parameterGroup StringName 
- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabledset to true.
- port Number
- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
- preferredCache List<String>Cluster Azs 
- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
- primaryEndpoint StringAddress 
- (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
- readerEndpoint StringAddress 
- (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
- replicasPer NumberNode Group 
- Number of replica nodes in each node group.
Changing this number will trigger a resizing operation before other settings modifications.
Valid values are 0 to 5.
Conflicts with num_cache_clusters. Can only be set ifnum_node_groupsis set.
- replicationGroup StringId 
- Replication group identifier. This parameter is stored as a lowercase string. - The following arguments are optional: 
- securityGroup List<String>Ids 
- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- securityGroup List<String>Names 
- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
- snapshotArns List<String>
- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
- snapshotName String
- Name of a snapshot from which to restore data into the new node group. Changing the snapshot_nameforces a new resource.
- snapshotRetention NumberLimit 
- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limitis set to zero (0), backups are turned off. Please note that setting asnapshot_retention_limitis not supported on cache.t1.micro cache nodes
- snapshotWindow String
- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
- subnetGroup StringName 
- Name of the cache subnet group to be used for the replication group.
- Map<String>
- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- transitEncryption BooleanEnabled 
- Whether to enable encryption in transit.
Changing this argument with an engine_version<7.0.5will force a replacement. Engine versions prior to7.0.5only allow this transit encryption to be configured during creation of the replication group.
- transitEncryption StringMode 
- A setting that enables clients to migrate to in-transit encryption with no downtime.
Valid values are preferredandrequired. When enabling encryption on an existing replication group, this must first be set topreferredbefore setting it torequiredin a subsequent apply. See theTransitEncryptionModefield in theCreateReplicationGroupAPI documentation for additional details.
- userGroup List<String>Ids 
- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
Supporting Types
ReplicationGroupLogDeliveryConfiguration, ReplicationGroupLogDeliveryConfigurationArgs          
- Destination string
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- DestinationType string
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- LogFormat string
- Valid values are jsonortext
- LogType string
- Valid values are slow-logorengine-log. Max 1 of each.
- Destination string
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- DestinationType string
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- LogFormat string
- Valid values are jsonortext
- LogType string
- Valid values are slow-logorengine-log. Max 1 of each.
- destination String
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- destinationType String
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- logFormat String
- Valid values are jsonortext
- logType String
- Valid values are slow-logorengine-log. Max 1 of each.
- destination string
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- destinationType string
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- logFormat string
- Valid values are jsonortext
- logType string
- Valid values are slow-logorengine-log. Max 1 of each.
- destination str
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- destination_type str
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- log_format str
- Valid values are jsonortext
- log_type str
- Valid values are slow-logorengine-log. Max 1 of each.
- destination String
- Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
- destinationType String
- For CloudWatch Logs use cloudwatch-logsor for Kinesis Data Firehose usekinesis-firehose.
- logFormat String
- Valid values are jsonortext
- logType String
- Valid values are slow-logorengine-log. Max 1 of each.
Import
Using pulumi import, import ElastiCache Replication Groups using the replication_group_id. For example:
$ pulumi import aws:elasticache/replicationGroup:ReplicationGroup my_replication_group replication-group-1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.