1. Packages
  2. AWS Classic
  3. API Docs
  4. elasticache
  5. ReplicationGroup

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 by Pulumi

aws.elasticache.ReplicationGroup

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 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 Cluster Mode Disabled

    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,
            Description = "example description",
            NodeType = "cache.m4.large",
            NumCacheClusters = 2,
            ParameterGroupName = "default.redis3.2",
            Port = 6379,
            PreferredCacheClusterAzs = new[]
            {
                "us-west-2a",
                "us-west-2b",
            },
        });
    
    });
    
    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),
    			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),
    			PreferredCacheClusterAzs: pulumi.StringArray{
    				pulumi.String("us-west-2a"),
    				pulumi.String("us-west-2b"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.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)
                .description("example description")
                .nodeType("cache.m4.large")
                .numCacheClusters(2)
                .parameterGroupName("default.redis3.2")
                .port(6379)
                .preferredCacheClusterAzs(            
                    "us-west-2a",
                    "us-west-2b")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.elasticache.ReplicationGroup("example",
        automatic_failover_enabled=True,
        description="example description",
        node_type="cache.m4.large",
        num_cache_clusters=2,
        parameter_group_name="default.redis3.2",
        port=6379,
        preferred_cache_cluster_azs=[
            "us-west-2a",
            "us-west-2b",
        ])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.elasticache.ReplicationGroup("example", {
        automaticFailoverEnabled: true,
        description: "example description",
        nodeType: "cache.m4.large",
        numCacheClusters: 2,
        parameterGroupName: "default.redis3.2",
        port: 6379,
        preferredCacheClusterAzs: [
            "us-west-2a",
            "us-west-2b",
        ],
    });
    
    resources:
      example:
        type: aws:elasticache:ReplicationGroup
        properties:
          automaticFailoverEnabled: true
          description: example description
          nodeType: cache.m4.large
          numCacheClusters: 2
          parameterGroupName: default.redis3.2
          port: 6379
          preferredCacheClusterAzs:
            - us-west-2a
            - us-west-2b
    

    attribute.

    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",
            },
            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 == true); rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            replica.Add(new Aws.ElastiCache.Cluster($"replica-{range.Value}", new()
            {
                ReplicationGroupId = example.Id,
            }));
        }
    });
    
    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 {
    		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"),
    			},
    			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 == true; index++ {
    			key0 := index
    			_ := index
    			__res, err := elasticache.NewCluster(ctx, fmt.Sprintf("replica-%v", key0), &elasticache.ClusterArgs{
    				ReplicationGroupId: example.ID(),
    			})
    			if err != nil {
    				return err
    			}
    			replica = append(replica, __res)
    		}
    		return nil
    	})
    }
    
    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")
                .description("example description")
                .nodeType("cache.m4.large")
                .numCacheClusters(2)
                .parameterGroupName("default.redis3.2")
                .port(6379)
                .build());
    
            for (var i = 0; i < (1 == true); i++) {
                new Cluster("replica-" + i, ClusterArgs.builder()            
                    .replicationGroupId(example.id())
                    .build());
    
            
    }
        }
    }
    
    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",
        ],
        description="example description",
        node_type="cache.m4.large",
        num_cache_clusters=2,
        parameter_group_name="default.redis3.2",
        port=6379)
    replica = None
    if 1 == True:
        replica = aws.elasticache.Cluster("replica", replication_group_id=example.id)
    
    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",
        ],
        description: "example description",
        nodeType: "cache.m4.large",
        numCacheClusters: 2,
        parameterGroupName: "default.redis3.2",
        port: 6379,
    });
    let replica: aws.elasticache.Cluster | undefined;
    if (1 == true) {
        replica = new aws.elasticache.Cluster("replica", {replicationGroupId: example.id});
    }
    
    resources:
      example:
        type: aws:elasticache:ReplicationGroup
        properties:
          automaticFailoverEnabled: true
          preferredCacheClusterAzs:
            - us-west-2a
            - us-west-2b
          description: example description
          nodeType: cache.m4.large
          numCacheClusters: 2
          parameterGroupName: default.redis3.2
          port: 6379
      replica:
        type: aws:elasticache:Cluster
        properties:
          replicationGroupId: ${example.id}
        options: {}
    

    Redis Cluster Mode Enabled

    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()
        {
            AutomaticFailoverEnabled = true,
            Description = "example description",
            NodeType = "cache.t2.small",
            NumNodeGroups = 2,
            ParameterGroupName = "default.redis3.2.cluster.on",
            Port = 6379,
            ReplicasPerNodeGroup = 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{
    			AutomaticFailoverEnabled: pulumi.Bool(true),
    			Description:              pulumi.String("example description"),
    			NodeType:                 pulumi.String("cache.t2.small"),
    			NumNodeGroups:            pulumi.Int(2),
    			ParameterGroupName:       pulumi.String("default.redis3.2.cluster.on"),
    			Port:                     pulumi.Int(6379),
    			ReplicasPerNodeGroup:     pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.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()        
                .automaticFailoverEnabled(true)
                .description("example description")
                .nodeType("cache.t2.small")
                .numNodeGroups(2)
                .parameterGroupName("default.redis3.2.cluster.on")
                .port(6379)
                .replicasPerNodeGroup(1)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    baz = aws.elasticache.ReplicationGroup("baz",
        automatic_failover_enabled=True,
        description="example description",
        node_type="cache.t2.small",
        num_node_groups=2,
        parameter_group_name="default.redis3.2.cluster.on",
        port=6379,
        replicas_per_node_group=1)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const baz = new aws.elasticache.ReplicationGroup("baz", {
        automaticFailoverEnabled: true,
        description: "example description",
        nodeType: "cache.t2.small",
        numNodeGroups: 2,
        parameterGroupName: "default.redis3.2.cluster.on",
        port: 6379,
        replicasPerNodeGroup: 1,
    });
    
    resources:
      baz:
        type: aws:elasticache:ReplicationGroup
        properties:
          automaticFailoverEnabled: true
          description: example description
          nodeType: cache.t2.small
          numNodeGroups: 2
          parameterGroupName: default.redis3.2.cluster.on
          port: 6379
          replicasPerNodeGroup: 1
    

    Redis Log Delivery configuration

    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()
        {
            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 = aws_cloudwatch_log_group.Example.Name,
                    DestinationType = "cloudwatch-logs",
                    LogFormat = "text",
                    LogType = "slow-log",
                },
                new Aws.ElastiCache.Inputs.ReplicationGroupLogDeliveryConfigurationArgs
                {
                    Destination = aws_kinesis_firehose_delivery_stream.Example.Name,
                    DestinationType = "kinesis-firehose",
                    LogFormat = "json",
                    LogType = "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{
    			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(aws_cloudwatch_log_group.Example.Name),
    					DestinationType: pulumi.String("cloudwatch-logs"),
    					LogFormat:       pulumi.String("text"),
    					LogType:         pulumi.String("slow-log"),
    				},
    				&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
    					Destination:     pulumi.Any(aws_kinesis_firehose_delivery_stream.Example.Name),
    					DestinationType: pulumi.String("kinesis-firehose"),
    					LogFormat:       pulumi.String("json"),
    					LogType:         pulumi.String("engine-log"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.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()        
                .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(aws_cloudwatch_log_group.example().name())
                        .destinationType("cloudwatch-logs")
                        .logFormat("text")
                        .logType("slow-log")
                        .build(),
                    ReplicationGroupLogDeliveryConfigurationArgs.builder()
                        .destination(aws_kinesis_firehose_delivery_stream.example().name())
                        .destinationType("kinesis-firehose")
                        .logFormat("json")
                        .logType("engine-log")
                        .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    test = aws.elasticache.ReplicationGroup("test",
        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=[
            aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(
                destination=aws_cloudwatch_log_group["example"]["name"],
                destination_type="cloudwatch-logs",
                log_format="text",
                log_type="slow-log",
            ),
            aws.elasticache.ReplicationGroupLogDeliveryConfigurationArgs(
                destination=aws_kinesis_firehose_delivery_stream["example"]["name"],
                destination_type="kinesis-firehose",
                log_format="json",
                log_type="engine-log",
            ),
        ])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const test = new aws.elasticache.ReplicationGroup("test", {
        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: aws_cloudwatch_log_group.example.name,
                destinationType: "cloudwatch-logs",
                logFormat: "text",
                logType: "slow-log",
            },
            {
                destination: aws_kinesis_firehose_delivery_stream.example.name,
                destinationType: "kinesis-firehose",
                logFormat: "json",
                logType: "engine-log",
            },
        ],
    });
    
    resources:
      test:
        type: aws:elasticache:ReplicationGroup
        properties:
          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: ${aws_cloudwatch_log_group.example.name}
              destinationType: cloudwatch-logs
              logFormat: text
              logType: slow-log
            - destination: ${aws_kinesis_firehose_delivery_stream.example.name}
              destinationType: kinesis-firehose
              logFormat: json
              logType: engine-log
    

    Creating a secondary replication group for a global replication group

    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()
        {
            Description = "primary replication group",
            Engine = "redis",
            EngineVersion = "5.0.6",
            NodeType = "cache.m5.large",
            NumCacheClusters = 1,
        }, new CustomResourceOptions
        {
            Provider = aws.Other_region,
        });
    
        var example = new Aws.ElastiCache.GlobalReplicationGroup("example", new()
        {
            GlobalReplicationGroupIdSuffix = "example",
            PrimaryReplicationGroupId = primary.Id,
        }, new CustomResourceOptions
        {
            Provider = aws.Other_region,
        });
    
        var secondary = new Aws.ElastiCache.ReplicationGroup("secondary", new()
        {
            Description = "secondary replication group",
            GlobalReplicationGroupId = example.GlobalReplicationGroupId,
            NumCacheClusters = 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{
    			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),
    		}, pulumi.Provider(aws.Other_region))
    		if err != nil {
    			return err
    		}
    		example, err := elasticache.NewGlobalReplicationGroup(ctx, "example", &elasticache.GlobalReplicationGroupArgs{
    			GlobalReplicationGroupIdSuffix: pulumi.String("example"),
    			PrimaryReplicationGroupId:      primary.ID(),
    		}, pulumi.Provider(aws.Other_region))
    		if err != nil {
    			return err
    		}
    		_, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{
    			Description:              pulumi.String("secondary replication group"),
    			GlobalReplicationGroupId: example.GlobalReplicationGroupId,
    			NumCacheClusters:         pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.elasticache.ReplicationGroup;
    import com.pulumi.aws.elasticache.ReplicationGroupArgs;
    import com.pulumi.aws.elasticache.GlobalReplicationGroup;
    import com.pulumi.aws.elasticache.GlobalReplicationGroupArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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()        
                .description("primary replication group")
                .engine("redis")
                .engineVersion("5.0.6")
                .nodeType("cache.m5.large")
                .numCacheClusters(1)
                .build(), CustomResourceOptions.builder()
                    .provider(aws.other_region())
                    .build());
    
            var example = new GlobalReplicationGroup("example", GlobalReplicationGroupArgs.builder()        
                .globalReplicationGroupIdSuffix("example")
                .primaryReplicationGroupId(primary.id())
                .build(), CustomResourceOptions.builder()
                    .provider(aws.other_region())
                    .build());
    
            var secondary = new ReplicationGroup("secondary", ReplicationGroupArgs.builder()        
                .description("secondary replication group")
                .globalReplicationGroupId(example.globalReplicationGroupId())
                .numCacheClusters(1)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    primary = aws.elasticache.ReplicationGroup("primary",
        description="primary replication group",
        engine="redis",
        engine_version="5.0.6",
        node_type="cache.m5.large",
        num_cache_clusters=1,
        opts=pulumi.ResourceOptions(provider=aws["other_region"]))
    example = aws.elasticache.GlobalReplicationGroup("example",
        global_replication_group_id_suffix="example",
        primary_replication_group_id=primary.id,
        opts=pulumi.ResourceOptions(provider=aws["other_region"]))
    secondary = aws.elasticache.ReplicationGroup("secondary",
        description="secondary replication group",
        global_replication_group_id=example.global_replication_group_id,
        num_cache_clusters=1)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const primary = new aws.elasticache.ReplicationGroup("primary", {
        description: "primary replication group",
        engine: "redis",
        engineVersion: "5.0.6",
        nodeType: "cache.m5.large",
        numCacheClusters: 1,
    }, {
        provider: aws.other_region,
    });
    const example = new aws.elasticache.GlobalReplicationGroup("example", {
        globalReplicationGroupIdSuffix: "example",
        primaryReplicationGroupId: primary.id,
    }, {
        provider: aws.other_region,
    });
    const secondary = new aws.elasticache.ReplicationGroup("secondary", {
        description: "secondary replication group",
        globalReplicationGroupId: example.globalReplicationGroupId,
        numCacheClusters: 1,
    });
    
    resources:
      secondary:
        type: aws:elasticache:ReplicationGroup
        properties:
          description: secondary replication group
          globalReplicationGroupId: ${example.globalReplicationGroupId}
          numCacheClusters: 1
      example:
        type: aws:elasticache:GlobalReplicationGroup
        properties:
          globalReplicationGroupIdSuffix: example
          primaryReplicationGroupId: ${primary.id}
        options:
          provider: ${aws.other_region}
      primary:
        type: aws:elasticache:ReplicationGroup
        properties:
          description: primary replication group
          engine: redis
          engineVersion: 5.0.6
          nodeType: cache.m5.large
          numCacheClusters: 1
        options:
          provider: ${aws.other_region}
    

    Create ReplicationGroup Resource

    new ReplicationGroup(name: string, args?: ReplicationGroupArgs, opts?: CustomResourceOptions);
    @overload
    def ReplicationGroup(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         apply_immediately: Optional[bool] = None,
                         at_rest_encryption_enabled: Optional[bool] = None,
                         auth_token: Optional[str] = None,
                         auto_minor_version_upgrade: Optional[bool] = None,
                         automatic_failover_enabled: Optional[bool] = None,
                         data_tiering_enabled: Optional[bool] = None,
                         description: Optional[str] = None,
                         engine: Optional[str] = None,
                         engine_version: Optional[str] = None,
                         final_snapshot_identifier: Optional[str] = None,
                         global_replication_group_id: 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,
                         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,
                         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,
                         transit_encryption_enabled: Optional[bool] = None,
                         user_group_ids: Optional[Sequence[str]] = None)
    @overload
    def ReplicationGroup(resource_name: str,
                         args: Optional[ReplicationGroupArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    func NewReplicationGroup(ctx *Context, name string, args *ReplicationGroupArgs, opts ...ResourceOption) (*ReplicationGroup, error)
    public ReplicationGroup(string name, ReplicationGroupArgs? args = null, 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.
    
    
    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.

    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

    The ReplicationGroup resource accepts the following input properties:

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    ReplicationGroupId string

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

    The following arguments are optional:

    SecurityGroupIds List<string>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    ReplicationGroupId string

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

    The following arguments are optional:

    SecurityGroupIds []string

    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

    List of cache security group names to associate with this replication group.

    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.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId String

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

    The following arguments are optional:

    securityGroupIds List<String>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId string

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

    The following arguments are optional:

    securityGroupIds string[]

    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[]

    List of cache security group names to associate with this replication group.

    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.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    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]

    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]

    List of cache security group names to associate with this replication group.

    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.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId String

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

    The following arguments are optional:

    securityGroupIds List<String>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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,
            auto_minor_version_upgrade: Optional[bool] = None,
            automatic_failover_enabled: Optional[bool] = None,
            cluster_enabled: Optional[bool] = 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,
            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,
            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,
            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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    ReplicationGroupId string

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

    The following arguments are optional:

    SecurityGroupIds List<string>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    ReplicationGroupId string

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

    The following arguments are optional:

    SecurityGroupIds []string

    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

    List of cache security group names to associate with this replication group.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId String

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

    The following arguments are optional:

    securityGroupIds List<String>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId string

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

    The following arguments are optional:

    securityGroupIds string[]

    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[]

    List of cache security group names to associate with this replication group.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    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]

    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]

    List of cache security group names to associate with this replication group.

    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.

    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.

    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 type "redis" 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.

    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. The only valid value is redis.

    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.

    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 SLOWLOG or Redis 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.

    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 Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_node_groups. 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.

    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.

    replicationGroupId String

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

    The following arguments are optional:

    securityGroupIds List<String>

    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>

    List of cache security group names to associate with this replication group.

    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.

    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
    

    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

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 by Pulumi