Class CfnReplicationGroupPropsMixin

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.elasticache.CfnReplicationGroupPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:59.112Z") @Stability(Stable) public class CfnReplicationGroupPropsMixin extends Mixin implements software.constructs.IMixin
The AWS::ElastiCache::ReplicationGroup resource creates an Amazon ElastiCache (Valkey or Redis OSS) replication group.

A Valkey or Redis OSS (cluster mode disabled) replication group is a collection of cache clusters, where one of the clusters is a primary read-write cluster and the others are read-only replicas.

A Valkey or Redis OSS (cluster mode enabled) cluster is comprised of from 1 to 90 shards (API/CLI: node groups). Each shard has a primary node and up to 5 read-only replica nodes. The configuration can range from 90 shards and 0 replicas to 15 shards and 5 replicas, which is the maximum number or replicas allowed.

The node or shard limit can be increased to a maximum of 500 per cluster if the engine version is Valkey 7.2 or higher, or Redis OSS 5.0.6 or higher. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters. For more information, see Creating a Subnet Group . For versions below 5.0.6, the limit is 250 per cluster.

To request a limit increase, see Amazon Service Limits and choose the limit type Nodes per cluster per instance type .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.elasticache.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnReplicationGroupPropsMixin cfnReplicationGroupPropsMixin = CfnReplicationGroupPropsMixin.Builder.create(CfnReplicationGroupMixinProps.builder()
         .atRestEncryptionEnabled(false)
         .authToken("authToken")
         .automaticFailoverEnabled(false)
         .autoMinorVersionUpgrade(false)
         .cacheNodeType("cacheNodeType")
         .cacheParameterGroupName("cacheParameterGroupName")
         .cacheSecurityGroupNames(List.of("cacheSecurityGroupNames"))
         .cacheSubnetGroupName("cacheSubnetGroupName")
         .clusterMode("clusterMode")
         .dataTieringEnabled(false)
         .engine("engine")
         .engineVersion("engineVersion")
         .globalReplicationGroupId("globalReplicationGroupId")
         .ipDiscovery("ipDiscovery")
         .kmsKeyId("kmsKeyId")
         .logDeliveryConfigurations(List.of(LogDeliveryConfigurationRequestProperty.builder()
                 .destinationDetails(DestinationDetailsProperty.builder()
                         .cloudWatchLogsDetails(CloudWatchLogsDestinationDetailsProperty.builder()
                                 .logGroup("logGroup")
                                 .build())
                         .kinesisFirehoseDetails(KinesisFirehoseDestinationDetailsProperty.builder()
                                 .deliveryStream("deliveryStream")
                                 .build())
                         .build())
                 .destinationType("destinationType")
                 .logFormat("logFormat")
                 .logType("logType")
                 .build()))
         .multiAzEnabled(false)
         .networkType("networkType")
         .nodeGroupConfiguration(List.of(NodeGroupConfigurationProperty.builder()
                 .nodeGroupId("nodeGroupId")
                 .primaryAvailabilityZone("primaryAvailabilityZone")
                 .replicaAvailabilityZones(List.of("replicaAvailabilityZones"))
                 .replicaCount(123)
                 .slots("slots")
                 .build()))
         .notificationTopicArn("notificationTopicArn")
         .numCacheClusters(123)
         .numNodeGroups(123)
         .port(123)
         .preferredCacheClusterAZs(List.of("preferredCacheClusterAZs"))
         .preferredMaintenanceWindow("preferredMaintenanceWindow")
         .primaryClusterId("primaryClusterId")
         .replicasPerNodeGroup(123)
         .replicationGroupDescription("replicationGroupDescription")
         .replicationGroupId("replicationGroupId")
         .securityGroupIds(List.of("securityGroupIds"))
         .snapshotArns(List.of("snapshotArns"))
         .snapshotName("snapshotName")
         .snapshotRetentionLimit(123)
         .snapshottingClusterId("snapshottingClusterId")
         .snapshotWindow("snapshotWindow")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .transitEncryptionEnabled(false)
         .transitEncryptionMode("transitEncryptionMode")
         .userGroupIds(List.of("userGroupIds"))
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnReplicationGroupPropsMixin

      protected CfnReplicationGroupPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnReplicationGroupPropsMixin

      protected CfnReplicationGroupPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnReplicationGroupPropsMixin

      @Stability(Stable) public CfnReplicationGroupPropsMixin(@NotNull CfnReplicationGroupMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::ElastiCache::ReplicationGroup.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnReplicationGroupPropsMixin

      @Stability(Stable) public CfnReplicationGroupPropsMixin(@NotNull CfnReplicationGroupMixinProps props)
      Create a mixin to apply properties to AWS::ElastiCache::ReplicationGroup.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnReplicationGroupMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()