Class CfnReplicationGroupPropsMixin
- All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable,software.constructs.IMixin
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnReplicationGroupPropsMixin.static interfaceThe configuration details of the CloudWatch Logs destination.static interfaceConfiguration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.static interfaceThe configuration details of the Kinesis Data Firehose destination.static interfaceSpecifies the destination, format and type of the logs.static interfaceNodeGroupConfigurationis a property of theAWS::ElastiCache::ReplicationGroupresource that configures an Amazon ElastiCache (ElastiCache) Valkey or Redis OSS cluster node group.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IMixin
software.constructs.IMixin.Jsii$Default, software.constructs.IMixin.Jsii$Proxy -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreate a mixin to apply properties toAWS::ElastiCache::ReplicationGroup.Create a mixin to apply properties toAWS::ElastiCache::ReplicationGroup.protectedCfnReplicationGroupPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnReplicationGroupPropsMixin(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyTo(software.constructs.IConstruct construct) Apply the mixin properties to the construct.protected CfnReplicationGroupMixinPropsgetProps()protected IMergeStrategysupports(software.constructs.IConstruct construct) Check if this mixin supports the given construct.Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
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 toAWS::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 toAWS::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. -
supports
@Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct) Check if this mixin supports the given construct. -
getProps
-
getStrategy
-