1. Packages
  2. AWS
  3. API Docs
  4. elasticache
  5. ReplicationGroup
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.elasticache.ReplicationGroup

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    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 the apply_immediately flag to instruct the service to apply the change immediately. Using apply_immediately can 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 example default.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_clusters directly. 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 of replication_group_id-00#.
    • Otherwise for fine grained control of the underlying cache clusters, they can be added or removed with the aws.elasticache.Cluster resource and its replication_group_id attribute. In this situation, you will need to utilize ignoreChanges to prevent perpetual differences with the number_cache_cluster attribute.
    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_id in 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_token to a previously passwordless replication group, using the ROTATE update strategy will result in support for both the new token and passwordless authentication. To immediately require authorization when adding the initial token, use the SET strategy 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.
    AtRestEncryptionEnabled bool
    Whether to enable encryption at rest.
    AuthToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    AuthTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    AutoMinorVersionUpgrade bool
    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 to true.
    AutomaticFailoverEnabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    ClusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    DataTieringEnabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    Engine string
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    FinalSnapshotIdentifier string
    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.
    GlobalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    IpDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    KmsKeyId string
    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.
    LogDeliveryConfigurations List<ReplicationGroupLogDeliveryConfiguration>
    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
    MultiAzEnabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    NetworkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    NotificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    NumCacheClusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    NumNodeGroups int
    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.
    ParameterGroupName string
    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-enabled set 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.
    PreferredCacheClusterAzs List<string>
    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.
    ReplicasPerNodeGroup int
    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 if num_node_groups is set.
    ReplicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    SecurityGroupIds List<string>
    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.
    SecurityGroupNames List<string>
    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_name forces a new resource.
    SnapshotRetentionLimit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    SubnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    Tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TransitEncryptionEnabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    TransitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    UserGroupIds List<string>
    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.
    AtRestEncryptionEnabled bool
    Whether to enable encryption at rest.
    AuthToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    AuthTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    AutoMinorVersionUpgrade bool
    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 to true.
    AutomaticFailoverEnabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    ClusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    DataTieringEnabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    Engine string
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    FinalSnapshotIdentifier string
    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.
    GlobalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    IpDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    KmsKeyId string
    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.
    LogDeliveryConfigurations []ReplicationGroupLogDeliveryConfigurationArgs
    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
    MultiAzEnabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    NetworkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    NotificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    NumCacheClusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    NumNodeGroups int
    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.
    ParameterGroupName string
    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-enabled set 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.
    PreferredCacheClusterAzs []string
    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.
    ReplicasPerNodeGroup int
    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 if num_node_groups is set.
    ReplicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    SecurityGroupIds []string
    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.
    SecurityGroupNames []string
    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_name forces a new resource.
    SnapshotRetentionLimit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    SubnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    Tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TransitEncryptionEnabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    TransitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    UserGroupIds []string
    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.
    atRestEncryptionEnabled Boolean
    Whether to enable encryption at rest.
    authToken String
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy String
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade Boolean
    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 to true.
    automaticFailoverEnabled Boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterMode String
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    dataTieringEnabled Boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    engine String
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    finalSnapshotIdentifier String
    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.
    globalReplicationGroupId String
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery String
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId String
    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.
    logDeliveryConfigurations List<ReplicationGroupLogDeliveryConfiguration>
    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
    multiAzEnabled Boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType String
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn String
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters Integer
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups Integer
    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.
    parameterGroupName String
    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-enabled set 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.
    preferredCacheClusterAzs List<String>
    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.
    replicasPerNodeGroup Integer
    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 if num_node_groups is set.
    replicationGroupId String

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds List<String>
    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.
    securityGroupNames List<String>
    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_name forces a new resource.
    snapshotRetentionLimit Integer
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName String
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    transitEncryptionEnabled Boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode String
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds List<String>
    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.
    atRestEncryptionEnabled boolean
    Whether to enable encryption at rest.
    authToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade boolean
    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 to true.
    automaticFailoverEnabled boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    dataTieringEnabled boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    engine string
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    finalSnapshotIdentifier string
    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.
    globalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId string
    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.
    logDeliveryConfigurations ReplicationGroupLogDeliveryConfiguration[]
    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
    multiAzEnabled boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters number
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups number
    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.
    parameterGroupName string
    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-enabled set 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.
    preferredCacheClusterAzs string[]
    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.
    replicasPerNodeGroup number
    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 if num_node_groups is set.
    replicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds string[]
    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.
    securityGroupNames string[]
    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_name forces a new resource.
    snapshotRetentionLimit number
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    tags {[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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    transitEncryptionEnabled boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds string[]
    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_encryption_enabled bool
    Whether to enable encryption at rest.
    auth_token str
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    auth_token_update_strategy str
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    auto_minor_version_upgrade bool
    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 to true.
    automatic_failover_enabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    cluster_mode str
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    data_tiering_enabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    engine str
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    final_snapshot_identifier str
    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_group_id str
    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_id is set, the num_node_groups parameter cannot be set.
    ip_discovery str
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kms_key_id str
    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_configurations Sequence[ReplicationGroupLogDeliveryConfigurationArgs]
    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_enabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    network_type str
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notification_topic_arn str
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    num_cache_clusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    num_node_groups int
    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_name str
    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-enabled set 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_cluster_azs Sequence[str]
    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_node_group int
    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 if num_node_groups is set.
    replication_group_id str

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    security_group_ids Sequence[str]
    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_names Sequence[str]
    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_name forces a new resource.
    snapshot_retention_limit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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_name str
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    transit_encryption_enabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transit_encryption_mode str
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    user_group_ids Sequence[str]
    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.
    atRestEncryptionEnabled Boolean
    Whether to enable encryption at rest.
    authToken String
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy String
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade Boolean
    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 to true.
    automaticFailoverEnabled Boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterMode String
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    dataTieringEnabled Boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
    engine String
    Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    finalSnapshotIdentifier String
    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.
    globalReplicationGroupId String
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery String
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId String
    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.
    logDeliveryConfigurations List<Property Map>
    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
    multiAzEnabled Boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType String
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn String
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters Number
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups Number
    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.
    parameterGroupName String
    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-enabled set 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.
    preferredCacheClusterAzs List<String>
    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.
    replicasPerNodeGroup Number
    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 if num_node_groups is set.
    replicationGroupId String

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds List<String>
    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.
    securityGroupNames List<String>
    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_name forces a new resource.
    snapshotRetentionLimit Number
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName String
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    transitEncryptionEnabled Boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode String
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds List<String>
    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.
    ConfigurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    EngineVersionActual string
    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.
    PrimaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    ReaderEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    ARN of the created ElastiCache Replication Group.
    ClusterEnabled bool
    Indicates if cluster mode is enabled.
    ConfigurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    EngineVersionActual string
    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.
    PrimaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    ReaderEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the created ElastiCache Replication Group.
    clusterEnabled Boolean
    Indicates if cluster mode is enabled.
    configurationEndpointAddress String
    Address of the replication group configuration endpoint when cluster mode is enabled.
    engineVersionActual String
    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.
    primaryEndpointAddress String
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress String
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    ARN of the created ElastiCache Replication Group.
    clusterEnabled boolean
    Indicates if cluster mode is enabled.
    configurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    engineVersionActual string
    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.
    primaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    ARN of the created ElastiCache Replication Group.
    cluster_enabled bool
    Indicates if cluster mode is enabled.
    configuration_endpoint_address str
    Address of the replication group configuration endpoint when cluster mode is enabled.
    engine_version_actual str
    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_address str
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    reader_endpoint_address str
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the created ElastiCache Replication Group.
    clusterEnabled Boolean
    Indicates if cluster mode is enabled.
    configurationEndpointAddress String
    Address of the replication group configuration endpoint when cluster mode is enabled.
    engineVersionActual String
    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.
    primaryEndpointAddress String
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress String
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    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) -> ReplicationGroup
    func 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    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.
    AtRestEncryptionEnabled bool
    Whether to enable encryption at rest.
    AuthToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    AuthTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    AutoMinorVersionUpgrade bool
    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 to true.
    AutomaticFailoverEnabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    ClusterEnabled bool
    Indicates if cluster mode is enabled.
    ClusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    ConfigurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    DataTieringEnabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    EngineVersionActual string
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    FinalSnapshotIdentifier string
    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.
    GlobalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    IpDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    KmsKeyId string
    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.
    LogDeliveryConfigurations List<ReplicationGroupLogDeliveryConfiguration>
    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.
    MultiAzEnabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    NetworkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    NotificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    NumCacheClusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    NumNodeGroups int
    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.
    ParameterGroupName string
    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-enabled set 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.
    PreferredCacheClusterAzs List<string>
    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.
    PrimaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    ReaderEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    ReplicasPerNodeGroup int
    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 if num_node_groups is set.
    ReplicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    SecurityGroupIds List<string>
    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.
    SecurityGroupNames List<string>
    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_name forces a new resource.
    SnapshotRetentionLimit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    SubnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    Tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TransitEncryptionEnabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    TransitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    UserGroupIds List<string>
    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.
    AtRestEncryptionEnabled bool
    Whether to enable encryption at rest.
    AuthToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    AuthTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    AutoMinorVersionUpgrade bool
    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 to true.
    AutomaticFailoverEnabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    ClusterEnabled bool
    Indicates if cluster mode is enabled.
    ClusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    ConfigurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    DataTieringEnabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    EngineVersionActual string
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    FinalSnapshotIdentifier string
    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.
    GlobalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    IpDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    KmsKeyId string
    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.
    LogDeliveryConfigurations []ReplicationGroupLogDeliveryConfigurationArgs
    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.
    MultiAzEnabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    NetworkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    NotificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    NumCacheClusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    NumNodeGroups int
    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.
    ParameterGroupName string
    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-enabled set 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.
    PreferredCacheClusterAzs []string
    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.
    PrimaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    ReaderEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    ReplicasPerNodeGroup int
    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 if num_node_groups is set.
    ReplicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    SecurityGroupIds []string
    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.
    SecurityGroupNames []string
    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_name forces a new resource.
    SnapshotRetentionLimit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    SubnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    Tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TransitEncryptionEnabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    TransitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    UserGroupIds []string
    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.
    atRestEncryptionEnabled Boolean
    Whether to enable encryption at rest.
    authToken String
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy String
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade Boolean
    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 to true.
    automaticFailoverEnabled Boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterEnabled Boolean
    Indicates if cluster mode is enabled.
    clusterMode String
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    configurationEndpointAddress String
    Address of the replication group configuration endpoint when cluster mode is enabled.
    dataTieringEnabled Boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    engineVersionActual String
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    finalSnapshotIdentifier String
    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.
    globalReplicationGroupId String
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery String
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId String
    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.
    logDeliveryConfigurations List<ReplicationGroupLogDeliveryConfiguration>
    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.
    multiAzEnabled Boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType String
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn String
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters Integer
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups Integer
    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.
    parameterGroupName String
    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-enabled set 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.
    preferredCacheClusterAzs List<String>
    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.
    primaryEndpointAddress String
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress String
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    replicasPerNodeGroup Integer
    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 if num_node_groups is set.
    replicationGroupId String

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds List<String>
    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.
    securityGroupNames List<String>
    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_name forces a new resource.
    snapshotRetentionLimit Integer
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName String
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    transitEncryptionEnabled Boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode String
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds List<String>
    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.
    atRestEncryptionEnabled boolean
    Whether to enable encryption at rest.
    authToken string
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy string
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade boolean
    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 to true.
    automaticFailoverEnabled boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterEnabled boolean
    Indicates if cluster mode is enabled.
    clusterMode string
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    configurationEndpointAddress string
    Address of the replication group configuration endpoint when cluster mode is enabled.
    dataTieringEnabled boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    engineVersionActual string
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    finalSnapshotIdentifier string
    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.
    globalReplicationGroupId string
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery string
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId string
    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.
    logDeliveryConfigurations ReplicationGroupLogDeliveryConfiguration[]
    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.
    multiAzEnabled boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType string
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn string
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters number
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups number
    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.
    parameterGroupName string
    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-enabled set 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.
    preferredCacheClusterAzs string[]
    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.
    primaryEndpointAddress string
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress string
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    replicasPerNodeGroup number
    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 if num_node_groups is set.
    replicationGroupId string

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds string[]
    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.
    securityGroupNames string[]
    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_name forces a new resource.
    snapshotRetentionLimit number
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName string
    Name of the cache subnet group to be used for the replication group.
    tags {[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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    transitEncryptionEnabled boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode string
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds string[]
    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_encryption_enabled bool
    Whether to enable encryption at rest.
    auth_token str
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    auth_token_update_strategy str
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    auto_minor_version_upgrade bool
    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 to true.
    automatic_failover_enabled bool
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    cluster_enabled bool
    Indicates if cluster mode is enabled.
    cluster_mode str
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    configuration_endpoint_address str
    Address of the replication group configuration endpoint when cluster mode is enabled.
    data_tiering_enabled bool
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    engine_version_actual str
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    final_snapshot_identifier str
    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_group_id str
    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_id is set, the num_node_groups parameter cannot be set.
    ip_discovery str
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kms_key_id str
    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_configurations Sequence[ReplicationGroupLogDeliveryConfigurationArgs]
    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_enabled bool
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    network_type str
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notification_topic_arn str
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    num_cache_clusters int
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    num_node_groups int
    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_name str
    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-enabled set 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_cluster_azs Sequence[str]
    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_address str
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    reader_endpoint_address str
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    replicas_per_node_group int
    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 if num_node_groups is set.
    replication_group_id str

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    security_group_ids Sequence[str]
    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_names Sequence[str]
    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_name forces a new resource.
    snapshot_retention_limit int
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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_name str
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    transit_encryption_enabled bool
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transit_encryption_mode str
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    user_group_ids Sequence[str]
    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.
    atRestEncryptionEnabled Boolean
    Whether to enable encryption at rest.
    authToken String
    Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
    authTokenUpdateStrategy String
    Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
    autoMinorVersionUpgrade Boolean
    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 to true.
    automaticFailoverEnabled Boolean
    Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
    clusterEnabled Boolean
    Indicates if cluster mode is enabled.
    clusterMode String
    Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
    configurationEndpointAddress String
    Address of the replication group configuration endpoint when cluster mode is enabled.
    dataTieringEnabled Boolean
    Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when 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 redis or valkey.
    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 attribute engine_version_actual, see Attribute Reference below.
    engineVersionActual String
    Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
    finalSnapshotIdentifier String
    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.
    globalReplicationGroupId String
    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_id is set, the num_node_groups parameter cannot be set.
    ipDiscovery String
    The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
    kmsKeyId String
    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.
    logDeliveryConfigurations List<Property Map>
    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.
    multiAzEnabled Boolean
    Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false.
    networkType String
    The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_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_id is set. Cannot be set if global_replication_group_id is set.
    notificationTopicArn String
    ARN of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic
    numCacheClusters Number
    Number of cache clusters (primary and replicas) this replication group will have. If automatic_failover_enabled or multi_az_enabled are true, must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups and replicas_per_node_group. Defaults to 1.
    numNodeGroups Number
    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.
    parameterGroupName String
    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-enabled set 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.
    preferredCacheClusterAzs List<String>
    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.
    primaryEndpointAddress String
    (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
    readerEndpointAddress String
    (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
    replicasPerNodeGroup Number
    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 if num_node_groups is set.
    replicationGroupId String

    Replication group identifier. This parameter is stored as a lowercase string.

    The following arguments are optional:

    securityGroupIds List<String>
    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.
    securityGroupNames List<String>
    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_name forces a new resource.
    snapshotRetentionLimit Number
    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_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is 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
    subnetGroupName String
    Name of the cache subnet group to be used for the replication group.
    tags 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_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    transitEncryptionEnabled Boolean
    Whether to enable encryption in transit. Changing this argument with an engine_version < 7.0.5 will force a replacement. Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
    transitEncryptionMode String
    A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required. When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply. See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
    userGroupIds List<String>
    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-logs or for Kinesis Data Firehose use kinesis-firehose.
    LogFormat string
    Valid values are json or text
    LogType string
    Valid values are slow-log or engine-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-logs or for Kinesis Data Firehose use kinesis-firehose.
    LogFormat string
    Valid values are json or text
    LogType string
    Valid values are slow-log or engine-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-logs or for Kinesis Data Firehose use kinesis-firehose.
    logFormat String
    Valid values are json or text
    logType String
    Valid values are slow-log or engine-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-logs or for Kinesis Data Firehose use kinesis-firehose.
    logFormat string
    Valid values are json or text
    logType string
    Valid values are slow-log or engine-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-logs or for Kinesis Data Firehose use kinesis-firehose.
    log_format str
    Valid values are json or text
    log_type str
    Valid values are slow-log or engine-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-logs or for Kinesis Data Firehose use kinesis-firehose.
    logFormat String
    Valid values are json or text
    logType String
    Valid values are slow-log or engine-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 aws Terraform Provider.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi